MacBook下为要运行的.net core 项目指定sdk版本
安装完.net core 3.0,运行早期版本构建的项目遇到运行错误,查阅官方文档解决问题,特此记录!官方原文如下:
SDK 使用最新安装的版本
SDK 命令包括 dotnet new
和 dotnet run
。 .NET Core CLI 必须为每个 dotnet
命令选择 SDK 版本。 即使在以下情况下,它也会默认使用计算机上安装的最新 SDK:
- 项目面向早期 .NET Core 运行时版本。
- .NET Core SDK 的最新版本是预览版本。
面向较旧的 .NET Core 运行时版本时,可利用最新的 SDK 功能和功能改进。 可在不同项目上面向 .NET Core 的多个运行时版本,同时对所有项目使用相同的 SDK 工具。
在少数情况下,可能需要使用版本较旧的 SDK。 在 global.json 中指定该版本 。 “使用最新”策略表示仅使用 global.json 指定早于最新安装版本的一个 .NET Core SDK 版本 。
可将 global.json 放置在文件层次结构中的任何位置 。 CLI 从项目目录中向上搜索其找到的第一个 global.json 。 由用户控制对哪些项目应用给定的 global.json(按其在文件系统中的位置) 。 .NET CLI 从当前工作目录路径向上导航,以迭代方式搜索 global.json 文件 。 找到的第一个 global.json 文件指定要使用的版本 。 如果已安装该版本,则使用该版本。 如果未找到 global.json 中指定的 SDK,则 .NET CLI 前滚到安装的最新 SDK 。 前滚操作与未找到 global.json 文件时的默认行为相同 。
下面的示例演示 global.json 语法 :
JSON
{
"sdk": {
"version": "2.0.0"
}
}
选择 SDK 版本的过程如下:
dotnet
从当前工作目录向下导航路径,以迭代方式搜索 global.json 文件 。dotnet
使用所找到的第一个 global.json 中指定的 SDK 。- 如果未找到 global.json,
dotnet
使用最新安装的 SDK 。
Ps:
global.json可以与解决方案在同一个文件夹,也可以单独放置在项目目录下。
使用dotnet命令创建global.json 文件:
dotnet new global.json --sdk-version <SDK版本号>
在项目根目录执行命令来检查,看看是否与设置的SDK版本号一致:
dotnet --version