2017-02-18 70 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