继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

.NET Core 项目指定SDK版本

晓晨Master
关注TA
已关注
手记 22
粉丝 1.7万
获赞 175
一. 版本里的坑

自从 .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"
  }
}
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

怎么.net文章关注人好少

查看全部评论