【问题标题】:How to update to .NETStandard 2.0 NuGet Package如何更新到 .NETStandard 2.0 NuGet 包
【发布时间】:2018-02-10 03:27:32
【问题描述】:

我在 Visual Studio 2015 中有一个很好的旧 .NET Framework 4.7 类库,目前使用 Microsoft.Extensions.Configuration NuGet package version 1.1.2。我正在尝试将其更新为 version 2.0,但出现此错误:

Microsoft.Extensions.Configuration 2.0.0'。您正在尝试安装 这个包到一个以“.NETFramework,Version=v4.7”为目标的项目中, 但该包不包含任何程序集引用或内容 与该框架兼容的文件。了解更多信息, 联系包作者。

我看到新版本只支持.NETStandard 2.0。我是否必须在 Visual Studio 2017 中将我的所有项目转换为 .NET Core.NET Standard

【问题讨论】:

标签: c# .net .net-core .net-standard .net-standard-2.0


【解决方案1】:

.NET Framework 4.6.1 及更高版本确实支持 .NET Standard 2.0+,但仅在使用新工具时才支持。确保您更新到 VS 2017 版本 15.3.0 或更高版本并安装了 .NET Core SDK 2.0.0,并且解决方案的目录层次结构中没有 global.json 固定较低的 SDK 版本。

您可能还需要在 VS 2017 中安装 .NET Core 工作负载

【讨论】:

  • 谢谢,升级到 VS 2017 解决了我的问题。为什么使用 VS 2017 与 2015 相比会有所不同?
  • 由于某种原因,我无法使用 msbuild(版本 15.3.3)进行构建,但只有 VS 2017(15.3.3)才有相同的例外。你知道为什么吗?
  • 您是否安装了 .NET Core(“跨平台”)工作负载?它目前是必需的,因为它包含此工作所需的必要 msbuild 逻辑。
  • 谢谢,在 msbuild 中安装 .NET Core 构建工具 工作负载后它可以工作了。
【解决方案2】:

是的,您必须将项目转换为 .Net 标准 2.0 才能使用 Microsoft.Extensions.Configuration 2.0.0 包。

查看以下链接以了解支持 .Net 标准 2.0 的 .Net 框架版本 截至目前,.Net 标准 2.0 仅支持 .Net framework 4.6.1

.Net standard 2.0 supported api

【讨论】:

  • 从现在开始是这样,还是只有这个包?
  • 很可能。 :( 因为 .net 标准将是所有其他版本的基础公共库,请查看此链接blogs.msdn.microsoft.com/dotnet/2016/09/26/…
  • 由于 .NET 4.6.1 支持 .NET Standard 2.0,这意味着 4.7 也可以使用该包。错误信息表明在尝试升级包时使用了旧版本的 VS/NuGet/SDK(见我的回答)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-29
  • 2020-03-31
  • 1970-01-01
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
相关资源
最近更新 更多