.NET Core 项目指定SDK版本
一. 版本里的坑
自从 .NET Core 2.1.0版本发布以后,近几个月微软又进行了几次小版本的发布,可见 .NET Core 是一门生命力非常活跃的技术。经过一段时间的实践,目前做 ASP.NET Core 开发时,使用的 Nuget 包,比如 Microsoft.AspNetCore.App 等的版本号要与 .NET Core 版本号(不是SDK版本号,后续说明)保持一致,否则编译或者运行的时候可能会出现一些稀奇古怪的错误,比如 Microsoft.AspNetCore.App 2.1.0版本对应 .NET Core 2.1.0版本,这可谓是一个坑。
二. 版本对照
| .NET Core 版本 | SDK 版本 | Runtime 版本 |
|---|---|---|
| 2.1.2 | 2.1.400 | 2.1.2 |
| 2.1.2 | 2.1.302 | 2.1.2 |
| 2.1.1 | 2.1.301 | 2.1.1 |
| 2.1.0 | 2.1.300 | 2.1.0 |
以上数据来自官方:https://www.microsoft.com/net/download/dotnet-core/2.1
三. 指定项目使用的 SDK 版本
前几天 Visual Studio 2017 推送了 15.8 版本,此版本自带了 .NET Core 2.1.2 (SDK版本 2.1.400),由于公司的项目使用的 .NET Core 2.1.0 版本(SDK版本 2.1.300),在编译的时候直接报错了。这是因为 .NET Core 项目默认使用最新版本的 .NET Core,我们的Nuget包没有进行升级,所以报错了。最终我们采用了指定项目SDK版本来解决了。操作如下:
在项目的根目录打开cmd,执行命令即可:
dotnet new global.json --sdk-version <SDK版本号>
要注意的是最后的参数是SDK版本,不是.NET Core 版本,可参照上表。
可在项目根目录执行命令来检查,看看是否与设置的SDK版本号一致:
dotnet --version
操作演示:

global.json 文件内容:
{
"sdk": {
"version": "2.1.300"
}
}
.NET Core 项目指定SDK版本的更多相关文章
- [转帖].NET Core 项目指定SDK版本
.NET Core 项目指定SDK版本 https://www.cnblogs.com/stulzq/p/9503121.html 一. 版本里的坑 自从 .NET Core 2.1.0版本发布以后, ...
- MacBook下为要运行的.net core 项目指定sdk版本
安装完.net core 3.0,运行早期版本构建的项目遇到运行错误,查阅官方文档解决问题,特此记录!官方原文如下: SDK 使用最新安装的版本 SDK 命令包括 dotnet new 和 dotne ...
- Xamarin Android项目提示SDK版本太老
Xamarin Android项目提示SDK版本太老 错误信息:The installed Android SDK is too old.Version 24.3.4 or newer is requ ...
- Maven项目指定JDK版本
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- 日常采坑:.NET Core SDK版本问题
1..NetCore SDK版本问题 .NetCore3.1 webapi 部署linux,遇到一个坑,开启的目录浏览功能失效,几番尝试发现是版本问题.本地sdk版本与linux安装的sdk版本不对应 ...
- 卸载、指定卸载 .NET Core Runtime and SDK
原文:卸载.指定卸载 .NET Core Runtime and SDK 项目使用的 Nuget 包,比如 Microsoft.AspNetCore.App等的版本号要与 .NET Core 版本号( ...
- VS2019打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配。
问题描述: 用VS2019创建了asp.net core项目,正常运行:过几天后,再次打开,发现无法加载项目,报错无法找到.net core sdk. 分析过程: 首先怀疑环境变量的问题,重新设置 ...
- 在Android Studio和Android Eclipse 更改现有项目里的SDK版本
一,在Eclipse下改项目里的SDK的版本方法有几种,都比较简单:1.右键单击项目--->properties---->Resource----->Android在Project ...
- C# 当前 .NET SDK 不支持将 .NET Core 2.1 设置为目标。请将 .NET Core 2.0 或更低版本设置为目标,或使用支持 .NET Core 2.1 的 .NET SDK 版本。
报错信息: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 NETSDK1045 当前 .NET SDK 不支持将 .NET Core 2.2 设置为目标.请将 .NET Core 2.1 或 ...
随机推荐
- Mybatis环境配置学习
Mybatis的使用环境配置步骤主要分为以下三步 1.导入jar包 2.创建mybatis的全局配置文件,并编写 3.创建mapper的配置文件 一.导入jar包 --- (踩坑:这一步中的导入mys ...
- selinux基本概念
TE模型 主体划分为若干组,称为域 客体划分为若干组,每个组称为一个类型 DDT(Domain Definition Table,域定义表,二维),表示域和类型的对应访问权限,权限包括读写执行 一 ...
- DSAPI多功能组件编程应用-网络相关(上)
[DSAPI.DLL下载地址] DSAPI多功能组件编程应用-网络相关,网络相关编程有很多很多,这里讲解一下封装在DSAPI中的网络相关的功能,这些都是本人简化到极点的功能了,可以在软件开发过程中节 ...
- C# 处理Excel公式(一)——创建、读取Excel公式
对于数据量较大的表格,需要计算一些特殊数值时,我们通过运用公式能有效提高我们数据处理的速度和效率,对于后期数据的增删改查等的批量操作也很方便.此外,对于某些数值的信息来源,我们也可以通过读取数据中包含 ...
- Android开发——使用LitePal开源数据库框架
前言:之前使用Android内置的数据库,感觉一大堆SQL语句,一不小心就错了,很难受,学习了这个LItePal的开源数据库框架,瞬间觉得Android内置的数据库简直是垃圾般的存在 LitePal ...
- Java 由浅入深GUI编程实战练习(二)
一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...
- PHP 脚本不报错
场景 当运行PHP脚本,访问数组中不存在的key时,脚本不报错,如下: <?php $arr = [1,2,3]; // 不报错,返回null var_dump($arr['abc']); 解决 ...
- 开源前端脚本错误监控及跟踪解决项目BadJS试用
摘要: 试用BadJS. 原文:开源前端脚本错误监控及跟踪解决项目-BadJS 试用 作者:过错 Fundebug经授权转载,版权归原作者所有. BadJS 是 一个web 前端脚本错误监控及跟踪项目 ...
- (三)设置mysql允许外部IP连接的解决方法及遇到的坑说明
用命令查询端口情况:netstat -an | grep LISTEN 发现mysql用到3306这个端口,只能被127.0.0.1访问(0.0.0.0的就是每个IP都有的服务,写明哪个IP的就是绑定 ...
- ifram 局部刷新,不刷新父级
function loadIframe(url) { //获取url链接 var u = window.location.href; //因为每次获取的链接中都有之前的旧锚点, //所以需要把#之后的 ...