在 .NET 开发过程中,随着 SDK 的不断更新,有时会因为 SDK 版本不一致导致构建失败或功能异常。为了解决这些问题, 文件提供了一种简单而高效的方式来指定项目运行时的 .NET SDK 版本。
global.json
通过添加和配置 文件锁定 .NET SDK 版本,而非运行时版本,作用域为其所在目录及子目录,可在不同项目目录放置不同的
global.json 实现版本隔离。
global.json
什么是
global.json?
global.json
是一个 JSON 文件,用于指定 .NET CLI 使用的 SDK 版本。它并不控制项目所面向的运行时版本,而是直接影响开发和构建时的 CLI 版本选择。
global.json
为什么需要 global.json?
版本固定:在 CI/CD 环境中,确保开发与构建环境使用相同版本的 .NET SDK,避免因版本变化导致的问题。
前滚策略:为 SDK 版本选择灵活的策略,例如允许补丁或次版本升级。
排除预发布版本:避免意外使用不稳定的预发布版本。
团队协作一致性:在多人开发中,确保大家的开发环境一致。
方法一:手动创建
global.json 文件
global.json
这是最直接的方式,适用于所有操作系统。
定位到项目根目录打开文件资源管理器,导航到你的项目根目录。
创建新文件
在空白处右键 → 新建 → 文本文档。将文件名改为 (注意:必须去掉
global.json 后缀,确保文件名为
.txt 而非
global.json)。
global.json.txt
编辑配置内容用记事本或代码编辑器(如 VS Code)打开 ,写入以下基础配置并根据需要修改:
global.json
{
"sdk": {
"version": "6.0.400", // 你需要指定的SDK版本
"rollForward": "latestMinor" // 版本兼容策略
}
}
如果你不知道本地已安装的 SDK 版本,可以先用 命令查看,然后填入你想使用的版本号。
dotnet --list-sdks
保存文件保存后,确保文件编码为 UTF-8,且位于项目根目录。
方法二:使用 .NET CLI 自动生成(推荐)
通过命令行工具可以快速生成并配置 ,避免手动拼写错误。
global.json
打开终端 / 命令行按下 输入
Win + R 打开命令提示符。
cmd
导航到项目目录使用 命令切换到你的项目根目录:
cd
cd C:UsersdarkbDesktopGlobal
生成 文件运行以下命令生成文件(可指定 SDK 版本):
global.json
# 生成默认配置(使用本地最新SDK版本)
dotnet new globaljson
# 或指定具体SDK版本(例如指定6.0.400)
dotnet new globaljson --sdk-version 6.0.400
(可选)修改配置生成后,你可以用编辑器打开文件,根据需要调整 等参数。
rollForward
验证配置是否生效
配置完成后,可通过以下命令验证是否生效:
# 查看当前目录使用的SDK版本
dotnet --version
如果输出的版本与你在 中指定的版本一致(或按
global.json 策略匹配的版本),说明配置生效。
rollForward
常用配置示例
根据不同需求,你可以调整 的配置:
global.json
锁定精确版本(不允许向前兼容):
{
"sdk": {
"version": "6.0.400",
"rollForward": "disable"
}
}
允许使用最新主版本(例如指定 6.x,自动用 7.x):
{
"sdk": {
"version": "6.0.0",
"rollForward": "latestMajor"
}
}
总结
添加 有两种方式:手动创建文件并编写配置,或用
global.json 命令生成;核心配置是
dotnet new globaljson(指定 SDK 版本)和
sdk.version(版本兼容策略);通过
sdk.rollForward 可验证配置是否生效。
dotnet --version
这样你就能根据项目需求灵活配置 版本了!
.NET SDK