【问题标题】:Visual Studio build error with ".Netstandard 2.0"?“.Netstandard 2.0”的 Visual Studio 构建错误?
【发布时间】:2017-10-02 02:31:05
【问题描述】:

我刚刚在我的 WPF 项目中添加了一个库。库依赖是framework4.6和.netstandard 2。

当我尝试构建项目时出现此错误:

Microsoft.NET\Framework\v4.0.30319\Microsoft.WinFx.targets(268,9):错误 MC1000:未知构建错误,“无法从程序集“netstandard”加载类型“System.Object”,版本 = 2.0。 0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 因为父级不存在。'

我在我的项目中导入了 netstandard nuget 包。我试图添加对 netstandard 的引用,但是,我在程序集列表中找不到它,所以我浏览到该位置并添加了引用。然而,当我尝试编译项目时,我得到了同样的错误。对此错误的任何想法将不胜感激。

【问题讨论】:

  • 您使用什么版本的 Visual Studio? VS2015 需要升级 NuGet 包管理器,而 VS2017 需要升级到 15.3.x。然后删除并重新添加这些包,NuGet 可以正确处理引用,并向您显示更有意义的错误消息。您还需要从dot.net 安装.NET Core SDK 2.0

标签: c# .net wpf .net-standard


【解决方案1】:

要使用标准框架以 .netstandard 2.0 为目标,您必须至少以 .net 4.6.1 为目标,如下图所示。

https://docs.microsoft.com/en-us/dotnet/standard/net-standard

您添加了哪个特定的库?

【讨论】:

  • 是一个叫zstd(一种压缩方式)的类库。我构建了针对.NetFramework7的库,但错误仍然存​​在!
  • 在 4.7.2 和全新的 Visual 2017 中仍然存在完全相同的错误。这不完全是解决方案。
【解决方案2】:

我通过以下方式解决了同样的问题(针对 .NET 4.7.2 和 Visual 15.8.x):

  • 删除 2013 指令:<ImplicitlyExpandDesignTimeFacades>false</ImplicitlyExpandDesignTimeFacades>
  • 从项目中删除对 netstandard.dll 的引用。

我还重新安装了 nuget 包,因为我的包版本在 4.6.2 和 4.7.2 之间混合:

  • Update-Package -Reinstall -Project MyProject

【讨论】:

    猜你喜欢
    • 2016-08-05
    • 2021-04-16
    • 1970-01-01
    • 2022-01-24
    • 1970-01-01
    • 2011-11-20
    • 2018-12-03
    • 2014-12-24
    • 2017-12-05
    相关资源
    最近更新 更多