什么是控件Visual Studio .net核心版本?
问题描述:
我无法弄清楚为什么我所有的项目都安装了NETStandard.Library 1.6.1。什么是控件Visual Studio .net核心版本?
如果我在命令行中我得到以下输出运行dotnet --version
2.1.0-preview1-007102
我的.csproj文件看起来像这样:
的Visual Studio块我在Visual Studio中通过的NuGet升级,所以我总是不得不手动安装NETStandard.Library 2.0.0
或搜索堆栈溢出,并将该隐式版本标记添加到.csproj中,但是为什么我必须这样做?什么是告诉视觉工作室,默认值应该是1.6?
我的意思是由安装NETStandard.Library 2.0.0以下
答
阻止我什么是不应该这样NuGet包进行手动编辑,但在你的情况下,它看上去像一个旧版本的使用的工具不应该与netstandard2.0
一起使用。
检查项目目录层次结构中是否包含最新的VS版本(当前为15.4.0)和没有global.json
,该版本将SDK版本设置为低于2.0.0
的值。
另外,我建议不要使用每日构建(例如,您的2.1.0预览)用于生产工作,因为你需要不断更新它是在安全方面,还是在包含项目目录中创建一个文件global.json
:
{
"sdk": {
"version": "2.0.2"
}
}
确保您使用的是“良好”版本(2.0.2是VS 2017 15.4.0附带的版本)。这样做后,您需要再次关闭并重新打开解决方案。
我有最新的VS,甚至下载企业试用版,只是尝试一个新的。一样。奇怪的是,cli''dotnet build''完全按照预期工作。另外我的构建服务器构建这些没有问题。我不知道Visual Studio是否使用不同的''dotnet''可执行文件或正在发生的事情。 –
VS携带一个“SDK解析器”,它可以从.net核心sdk版本找到'Microsoft.NET.Sdk'文件夹。它寻找一个global.json来控制它,但应该解析为1.1.0或2. *版本。你可以用'dotnet --info'来检查2.1.0预览,并尝试删除它。 ('dotnet'也是一个很好的指示) –
谢谢,我删除了2.0预览SDK,以及我已经安装的1.0预览SDK,并且所有事情都开始按我期望的那样工作。我不确定为什么预览SDK的存在会导致这种情况,但噢,很高兴将它修复! –