.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 或 ...
随机推荐
- 容器平台自动化CI/CD流水线实践之一:环境概述
一.架构图
- IOS中armv7,armv7s,arm64以及i386和x86_64讲解
一.前言问题 在iOS 开发过程中,估计比较少的人会在意armv7,armv7s,arm64这些概念,如果在意可能也是项目中出现了像下面的问题,才会想起来解决这些问题,但还是不是特别的理解,这些概念, ...
- eclipse部署Tomcat9
1.下载 下载地址https://tomcat.apache.org/download-90.cgi 2.解压文件 3.运行bin-->startup.bat文件,若界面如下图,则成功 4. ...
- 编译内核时出现drivers/mfd/mxc-hdmi-core.c:36:24: fatal error: mach/clock.h: No such file or directory
在学习恩智浦IMX6D开发板时,编译内核出现 drivers/mfd/mxc-hdmi-core.c::: fatal error: mach/clock.h: No such file or dir ...
- ajax发送请求跨域 - uri java代理
问题:ajax发送请求出现cors跨域 解决办法:可以通过java代理的方式,后台发送请求 1.get请求 public void proxyGet(String url) { try { URL r ...
- ServiceHub.DataWarehouseHost.exe内存泄漏问题的处理
Visual Studio 2017的15.2版本在debug应用程序时,ServiceHub.DataWarehouseHost.exe会出现严重的内存泄漏的问题,一个小时左右,内存耗了将近8GB. ...
- Emmet 简介
Emmet 简介 Intro 什么是 Emmet? Emmet is a plugin for many popular text editors which greatly improves HTM ...
- [20190401]隐含参数_mutex_spin_count.txt
[20190401]隐含参数_mutex_spin_count.txt --//上午做了一些测试关于semtimedop函数调用,发现自己上个星期在一些问题上理解错误.--//相关链接:--//htt ...
- mmz-asio4delphi死链接的解决办法
最近一段时间,因为忙于网络的项目,特意到网上找了些例子,特意花时间研究了一下马敏钊写的 mmz-asio4delphi 感觉很好用,不过深入研究之后,发现一个问题. 马大的这个代码,会产生死链接. ...
- c/c++ 继承与多态 继承时如何改变个别成员的访问属性
问题1:若类B以private的方式继承类A,但还想让类A的某些个别成员,保持public或者protected的访问属性,这时应该怎么办? 使用using,去改变访问属性. #include < ...