什么控制Visual Studio .net核心版本?

时间:2017-10-14 03:21:52

标签: .net-core visual-studio-2017 .net-standard

我无法弄清楚为什么我的所有项目都安装了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

enter image description here

1 个答案:

答案 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附带的版本)。完成此操作后,您需要再次关闭并重新打开解决方案。