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

将项目升级至.NET 6时PowerShell构建SDK版本冲突问题求助

解决方案

1. 切换到子项目目录执行构建

.NET SDK会优先读取当前执行命令目录下的global.json,所以在PowerShell里,先切换到包含.NET 6版本global.json的子项目目录,再执行构建命令:

cd ./你的Net6项目所在目录
dotnet build

2. 构建时指定SDK版本

如果需要在根目录批量构建,不用切换目录,直接在build命令里指定要用的.NET 6 SDK版本:

dotnet build ./你的Net6项目路径/项目文件.csproj --sdk-version 6.0.400

也可以通过环境变量临时指定SDK路径:

$env:DOTNET_ROOT="C:\Program Files\dotnet\sdk\6.0.400" # 替换成你实际的.NET 6 SDK安装路径
dotnet build ./你的Net6项目路径/项目文件.csproj

3. 调整根目录global.json的版本策略

如果多数项目已经迁移到.NET 6,直接修改根目录的global.json,把SDK版本改成.NET 6的,同时给还需要用3.1的项目单独放一个指定3.1版本的global.json:
根目录global.json示例:

{
  "sdk": {
    "version": "6.0.400",
    "rollForward": "latestMajor"
  }
}

3.1项目目录下的global.json示例:

{
  "sdk": {
    "version": "3.1.100"
  }
}

4. 检查工作目录与清理缓存

  • 用Get-Location命令确认PowerShell当前工作目录是否正确,确保是包含新global.json的目录。
  • 执行dotnet nuget locals all --clear清理本地缓存,再重新构建试试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 16:45:01