2017-02-18 71 views
13

从上次(也可能是最后两次)更新中,我无法更新Nuget中的NETStandartLibrary软件包。 我只是创建一个新的标准库项目。看到这条消息:VS 2017 RC:我无法更新Nuget中的NETStandard.Library

enter image description here

在项目的属性,版本不同的是:

enter image description here

而在.csproj的:

<Project Sdk="Microsoft.NET.Sdk"> 

    <PropertyGroup> 
     <TargetFramework>netstandard1.4</TargetFramework> 
    </PropertyGroup> 

</Project> 

在的NuGet,我添加依赖'Microsoft.EntityFrameworkCore',然后我得到了警告:

警告检测到的程序包降级:NETStandard.Library从1.6.1到 1.6.0 AgainTest(> = 1.0.0) - > Microsoft.EntityFrameworkCore(> = 1.1.0) - > NETStandard.Library(> = 1.6.1)AgainTest(> = 1.0.0) - > NETStandard.Library(> = 1.6.0)

我选择项目属性中的高版本,但警告继续。

  • 这是什么版本号?
  • 我该如何解决此警告?
+0

不知道这是一个错误,但还有一个包在我的依赖造成这一点,但仍然消除即使它显示了一些警告,但它从dotnet cli消失,它之前显示为黄色。我删除了EFCore和其他人,卸载。删除bin和obj文件夹并从命令行进行恢复。然后重新添加EntityFramework并且消息消失。然而,它从未出现在Mac上的VS上。相同的工具版本和项目。 VS SDK中的.net标准有一个黄色警告图标,但没有消息。现在没有了。奇怪而不可预测。 –

回答

12

你不能从GUI中改变它,因为这个包是从你的TargetFramework中隐含定义的。要更改NETStandard.Library包的版本,请将以下内容添加到您的csproj文件中。

<PropertyGroup> 
    <NetStandardImplicitPackageVersion>1.6.1</NetStandardImplicitPackageVersion> 
</PropertyGroup> 
7

添加以下到您的csproj也似乎工作:

<ItemGroup> 
    <PackageReference Update="NETStandard.Library" Version="1.6.1" /> 
</ItemGroup> 
+0

有什么区别? – Orwel

+0

实际上,在你的问题的背景下可能什么也没有。第一个答案是声明不同版本的NetStandard软件包的方式,因为它们现在是隐含的而非明确的。第二种方式是将任何软件包更新为不同版本的更一般方式,因此可以应用于其他软件包,而不仅仅是NetStandard – schnitty