我无法弄清楚为什么我的所有项目都安装了NETStandard.Library 1.6.1。
如果我从命令行运行dotnet --version
,我会得到以下输出
2.1.0-preview1-007102
我的.csproj文件如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
</ItemGroup>
</Project>
Visual Studio阻止我在visual studio中通过nuget进行升级,因此我总是要手动安装NETStandard.Library 2.0.0
或搜索堆栈溢出并将该隐式版本标记添加到.csproj,但为什么我需要做这个?什么告诉视觉工作室默认值应该是1.6?
我的意思是阻止我安装下面的NETStandard.Library 2.0.0
答案 0 :(得分:1)
此NuGet包不应手动编辑,但在您的情况下,它看起来使用的旧版本的工具不应该与netstandard2.0
一起使用。
检查项目目录层次结构中是否有最新的VS版本(当前为15.4.0)且没有global.json
,将SDK版本设置为低于2.0.0
的值。
另外,我建议不要将日常构建(例如2.1.0预览版)用于生产工作,因为您需要不断更新它以保证安全,或者在项目目录中创建global.json
文档:
{
"sdk": {
"version": "2.0.2"
}
}
确保您使用&#34; good&#34;版本(2.0.2是VS 2017 15.4.0附带的版本)。完成此操作后,您需要再次关闭并重新打开解决方案。