You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Visual Studio 17.7.1后发布.NET Maui项目遇异常问题

解决Visual Studio 17.7.1发布时net7.0目标缺失问题

不少用户升级到VS 17.7.x版本后都遇到过类似的无意义构建/发布错误,以下是一些额外的排查和解决方向:

  • 检查并配置global.json文件
    如果解决方案根目录没有global.json,手动创建一个,指定项目使用的.NET 7 SDK版本,避免VS自动选用高版本SDK导致兼容性问题:

    {
      "sdk": {
        "version": "7.0.401",
        "rollForward": "disable"
      }
    }
    

    若已有该文件,确认其中的SDK版本为.NET 7的稳定版,且rollForward设置不会自动升级到更高版本。

  • 命令行强制指定参数发布
    绕开VS UI的配置缓存,直接用命令行执行发布命令,明确指定目标框架和运行时:

    dotnet publish -c Release -f net7.0 -r win-x64 --self-contained false
    

    根据需求调整-r(运行时)和--self-contained参数,发布成功后再回到VS UI尝试。

  • 彻底清理NuGet缓存
    执行命令清理所有NuGet本地缓存,避免损坏的缓存文件干扰还原流程:

    dotnet nuget locals all --clear
    

    清理完成后重新运行dotnet restore,再尝试发布。

  • 排查项目文件的冲突配置
    打开csproj文件,确认:

    • 仅存在<TargetFrameworks>net7.0</TargetFrameworks>(或单数<TargetFramework>net7.0</TargetFramework>),没有重复或冲突的框架设置
    • 若指定了<RuntimeIdentifier>,确保和发布时选择的运行时一致,比如win-x64
    • 移除任何可能覆盖框架设置的自定义MSBuild属性,比如<TargetFrameworkOverride>之类的配置
  • 检查依赖包兼容性
    执行命令列出项目所有依赖包,确认所有包都支持net7.0:

    dotnet list package
    

    若发现不兼容的旧包,更新到支持net7.0的最新版本,再重新还原和发布。

  • 使用VS开发者命令提示符操作
    打开对应.NET 7的VS开发者命令提示符,导航到项目目录,依次执行:

    dotnet clean
    dotnet restore
    dotnet build -c Release
    dotnet publish -c Release
    

    避免VS UI可能的配置缓存异常。

内容的提问来源于stack exchange,提问作者10101

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 18:55:16