安装完.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. Cannot find module '@babel/plugin-proposal-class-properties'

    cnpm install --save-dev @babel/plugin-proposal-class-properties

  2. IOS学习笔记56-IOS7状态栏适配方法一

    近期由于IOS7的发布,所以应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,因此呢,因适配IOS7而产生的问题也是铺天盖地的卷来,所以了,我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结如下 ...

  3. Java-MyBatis-MyBatis3-XML映射文件:自动映射

    ylbtech-Java-MyBatis-MyBatis3-XML映射文件:自动映射 1.返回顶部 1. 自动映射 正如你在前面一节看到的,在简单的场景下,MyBatis 可以为你自动映射查询结果.但 ...

  4. Docker系列(十):Kubernetes集群入门

    kubenetes安装 官网:https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/getting-started- guide ...

  5. Netty ByteBuf泄露定位修改。

    1. ByteBuf 2. 问题描述 日志记录中报堆外内存溢出. 3. 问题定位及修改 Netty提供了ByteBuf泄露的检测机制. JVM启动参数中添加: -Dio.netty.leakDetec ...

  6. java日志管理 - slf4j+log4j2

    1 . 概述 1.1  日志框架实现 log4j是apache实现的一个开源日志组件: logback同样是由log4j的作者设计完成的,拥有更好的特性,用来取代log4j的一个日志框架,是slf4j ...

  7. Java - 关于覆盖和重写的总结

    公众号偶然看到的一个帖子,构造方法,类方法,final方法,哪些能覆盖,哪些能重载,初学时也是被这些术语搞的很迷糊 现在有时间了对这些做一个总结.全是自己的语言,可能不是很全面,表达意思应该够清楚 一 ...

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

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

  9. P1009阶乘之和

    n=int(input()) ans=0 for i in range(1,n+1): t=1 for j in range(1,i+1): t*=j; ans+=t; print(ans)

  10. mysql工具使用

    mysql -u user_name -p123456 -h host_name -P 3306 -D database_name -e "show full processlist;&qu ...