【问题标题】:How to consume a netstandard2.0 assembly using VS 2015 (in a 4.6.2 library)?如何使用 VS 2015(在 4.6.2 库中)使用 netstandard2.0 程序集?
【发布时间】:2018-02-17 12:40:26
【问题描述】:

替代标题:是否已弃用所有早于 VS2017.3 的内容?

我有这个单一的 netstandard 2.0 程序集,我必须使用 VS2015(.3) 从 4.6.2 类库中使用它。

但这不会编译,我总是得到:

错误 MC1000:未知的构建错误,“无法解析对 程序集'netstandard,版本=2.0.0.0,文化=中性, PublicKeyToken=cc7b13ffcd2ddd51' 因为它没有被预加载。

我安装了 NuGet 包 NETStandard.Library 并尝试了 ImplicitlyExpandDesignTimeFacades=false -- 没有改变任何东西。


更新:

现在这个 MC1000 在另一个与 netstandard 完全无关的解决方案中再次击中了我:一切都使用 NET 4.6.2。 我只是应用了建议的 NuGet 包更新:

之前:

  <package id="System.Reflection.TypeExtensions" version="4.3.0" targetFramework="net462" />
  <package id="System.Text.Encoding.CodePages" version="4.3.0" targetFramework="net462" />

之后:

  <package id="System.Reflection.TypeExtensions" version="4.4.0" targetFramework="net462" />
  <package id="System.Text.Encoding.CodePages" version="4.4.0" targetFramework="net462" />

与上述完全相同的错误消息。恕我直言,根据 SemVer 这样的事情不应该从 4.3.0 到 4.4.0 发生。

我再次尝试安装 NETStandard.Library NuGet 包是否有帮助,但没有。

.NET core 2.0 SDK 安装在这台机器上。正如https://blog.nuget.org/20170815/Whats-nu-in-NuGet-with-VS2017-15-3.html建议的那样,NuGet 包管理器版本是 3.6.0.2511@

【问题讨论】:

  • 您是如何克服错误的?
  • @Purusartha 我安装了 VS 2017(甚至需要 ServicePack 3+)
  • 我在尝试在 vs2015 中打开解决方案时遇到此错误
  • @Purusartha 对不起,我放弃了使用 VS2015(因此是替代主题)并安装了 VS2017 以摆脱所有这些垃圾。

标签: visual-studio-2015 .net-standard-2.0


【解决方案1】:

您需要将 NuGet 客户端升级到最低版本 3.6。

请参阅工具先决条件部分, https://github.com/dotnet/announcements/issues/24

Nuget 下载链接: https://www.nuget.org/downloads

【讨论】:

  • 就我而言,我必须在我们的 Azure DevOps 服务器中从 4.1.0 更新到 5.x.x。我们的构建代理文件夹每个都包含两个 nuget.exe 文件。我们更新了它们。问题解决了。
猜你喜欢
  • 2015-12-28
  • 1970-01-01
  • 2020-06-17
  • 1970-01-01
  • 2015-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-25
相关资源
最近更新 更多