2017-09-01 229 views
6

我有一個很好的舊的.NET Framework 4.7類庫的Visual Studio 2015年目前使用Microsoft.Extensions.Configuration NuGet package version 1.1.2。我試圖更新這version 2.0,但我得到這個錯誤:如何更新到.NETStandard 2.0 NuGet包

Microsoft.Extensions.Configuration 2.0.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

我看到新的版本只支持.NETStandard 2.0。我有我所有的項目轉換要麼.NET核心.NET標準的Visual Studio 2017年

+0

有你這樣建議的NuGet位VS2015更新https://blog.nuget.org/20170815/Whats-nu-in-NuGet -with-VS2017-15-3.html? –

回答

3

是的,你有你的項目到.NET標準2.0使用Microsoft.Extensions.Configuration 2.0.0包轉換。

退房下面的鏈接對於.NET 2.0標準支持.NET Framework版本 截至目前,標準的.Net 2.0最高只能支持Net框架4.6.1

.Net standard 2.0 supported api

+0

這是從現在開始的事情嗎?還是隻有這個包? – dhrm

+0

最有可能。 :(引起.NET標準將潛在的公共庫的所有其他版本上檢查這個環節打造出https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/ – Sriram

+3

由於.NET 4.6.1支持.NET 2.0標準,這意味着4.7也可以使用包。該錯誤信息表明一箇舊版本的VS /的NuGet/SDK的是在嘗試升級包中使用(見我的回答) –

6

.NET Framework版本4.6.1和更高版本確實支持.NET Standard 2.0+,但僅在使用新工具時才支持。確保您更新到VS 2017版本15.3.0或更高版本,並在您的解決方案的目錄層次結構中安裝了.NET Core SDK 2.0.0並且沒有global.json固定較低的SDK版本。

您可能還需要安裝.NET核心的工作量在2017年VS

+0

謝謝你,升級到VS 2017年解決我的問題。爲什麼會有所作爲使用VS 2017年相比,2015年? – dhrm

+0

出於某種原因,我不能建立使用的MSBuild(15.3.3版本)使用相同的例外,只是從2017年VS( 15.3.3)。你知道爲什麼嗎? – dhrm

+0

你有.NET核心(「跨平臺」)安裝工作量?它是目前必需的,因爲它包含爲此所需必要的MSBuild邏輯工作。 –