MacBook下为要运行的.net core 项目指定sdk版本

安装完.net core 3.0,运行早期版本构建的项目遇到运行错误,查阅官方文档解决问题,特此记录!官方原文以下:

SDK 使用最新安装的版本

SDK 命令包括 dotnet new 和 dotnet run。 .NET Core CLI 必须为每一个 dotnet 命令选择 SDK 版本。 即便在如下状况下,它也会默认使用计算机上安装的最新 SDK:json

  • 项目面向早期 .NET Core 运行时版本。
  • .NET Core SDK 的最新版本是预览版本。

面向较旧的 .NET Core 运行时版本时,可利用最新的 SDK 功能和功能改进。 可在不一样项目上面向 .NET Core 的多个运行时版本,同时对全部项目使用相同的 SDK 工具。bash

在少数状况下,可能须要使用版本较旧的 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 文件时的默认行为相同 。spa

下面的示例演示 global.json 语法 :.net

JSON
{
  "sdk": { "version": "2.0.0" } } 

选择 SDK 版本的过程以下:code

  1. dotnet 从当前工做目录向下导航路径,以迭代方式搜索 global.json 文件 。
  2. dotnet 使用所找到的第一个 global.json 中指定的 SDK 。
  3. 若是未找到 global.json,dotnet 使用最新安装的 SDK 。

Ps:

global.json能够与解决方案在同一个文件夹,也能够单独放置在项目目录下。

使用dotnet命令建立global.json 文件:  

dotnet new global.json --sdk-version <SDK版本号>

在项目根目录执行命令来检查,看看是否与设置的SDK版本号一致:blog

dotnet --version
相关文章
相关标签/搜索