安装完.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 版本的过程如下:

  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版本号一致:

dotnet --version

MacBook下为要运行的.net core 项目指定sdk版本的更多相关文章

  1. [转帖].NET Core 项目指定SDK版本

    .NET Core 项目指定SDK版本 https://www.cnblogs.com/stulzq/p/9503121.html 一. 版本里的坑 自从 .NET Core 2.1.0版本发布以后, ...

  2. .NET Core 项目指定SDK版本

    一. 版本里的坑 自从 .NET Core 2.1.0版本发布以后,近几个月微软又进行了几次小版本的发布,可见 .NET Core 是一门生命力非常活跃的技术.经过一段时间的实践,目前做 ASP.NE ...

  3. vs2017 在win10下安装后开始运行asp.net core 项目时出错

    vs2017 在win10下安装后开始运行asp.net core 项目时出错 报找不到什么 解决方法: 下载 asp.net 2.2 安装好,重新启动电脑问题解决.

  4. 在传统.NET Framework 上运行ASP.NET Core项目

    新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.N ...

  5. Centos下使用Docker部署asp.net core项目

    本文讲述 CentOS 系统 Docker 中部署 asp.net core开源项目 abp 的过程 步骤 1. 拉取 asp.net core 基础镜像 docker pull microsoft/ ...

  6. vue-cli3.x正确打包项目,解决静态资源与路由加载无效的问题,history模式下配合使用nginx运行打包后的项目

    使用vue-cli3.x正确打包项目,配合nginx运行打包后的内容 vue.config.js module.exports = { publicPath: './',//打包后的位置(如果不设置这 ...

  7. Docker容器运行ASP.NET Core

    最近要学习的知识太多,都不知道先学哪些了,原本计划这篇博客是写xamarin.forms中的listview用法,关于listview的用法简书上有一篇介绍的也比较详细,所以暂时先缓一缓,属于次要任务 ...

  8. 卸载、指定卸载 .NET Core Runtime and SDK

    原文:卸载.指定卸载 .NET Core Runtime and SDK 项目使用的 Nuget 包,比如 Microsoft.AspNetCore.App等的版本号要与 .NET Core 版本号( ...

  9. 在Mac下运行ASP.NET Core应用程序

    在Mac下运行ASP.NET Core应用程序 通过参照.NET Core相关官方文档,在我的Mac电脑上用Visual Studio Code创建了我的第一个ASP.NET应用. 开发环境搭建 首先 ...

随机推荐

  1. DuiLib学习笔记1.编译运行demo

    c++中皮肤问题比较麻烦,MFC自带的太难用.DirectUI界面库就比较强大了,之前像skin++之类的基于DirectUI收费昂贵.DuiLib是基于DirectUI的界面库,可以将用户界面和处理 ...

  2. eclipse安装m2e

    Installation You can install last M2Eclipse release by using the following update site from within E ...

  3. 简单的JMS实例

    1.首先需要一台JMS的提供者,在这里我选择使用的是apache-activemq-5.3.2这个服务器,首先下载服务器并通过bin目录下的activemq.bat启动服务器,此时可通过http:// ...

  4. 使用Windows任务计划程序和Python备份Mysql数据库

    目标:每日定时自动备份Mysql数据库 方案: 1.安装Python: 使用的Python版本是Python3.7.1,下载地址:https://www.python.org/downloads/re ...

  5. Java基础(业务问题)

    幂等的处理方式 一.查询与删除操作是天然幂等 二.唯一索引,防止新增脏数据 三.token机制,防止页面重复提交 四.悲观锁  for update 五.乐观锁(通过版本号/时间戳实现, 通过条件限制 ...

  6. 快速I/O 51node 1406

    #include <bits/stdc++.h> using namespace std; #define LL long long typedef pair<int,int> ...

  7. mysql备份时的快照原理

    实际上实验的结果表明,这里的 the first such read指的是:对同一个表或者不同表进行的第一次select语句建立了该事务中一致性读的snapshot. 其它update, delete ...

  8. Range的范围

    range(N,M)的范围应为: [N,M) 例如:

  9. day 71作业

    作业: url配置 urlpatterns = [ url(r'^v2/cars/$',views.CarAPIView.as_view()), url(r'^v2/cars/(?P<pk> ...

  10. PAT甲级——A1048 Find Coins

    Eva loves to collect coins from all over the universe, including some other planets like Mars. One d ...