如何更新到.NETStandard 2.0 NuGet包

问题描述:

我有一个很好的旧的.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? –

是的,你有你的项目到.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的是在尝试升级包中使用(见我的回答) –

.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逻辑工作。 –