安装Netstandard 2.0 NuGet软件包:无法加载文件或程序集System.Runtime.Extensions

时间:2018-09-21 15:49:14

标签: c# nuget .net-standard

我正在处理一个小项目,该项目可以通过NuGet包获得:Richiban.CommandLine。 (您可以在https://github.com/Richiban/CommandLine上查看源代码。)

Richiban.CommandLine库针对netstandard 2.0。在同一个解决方案中,其他几个针对.NET 4.7.1的项目都在使用它,一切都很好。

但是,如果您通过NuGet安装该软件包,则始终会出现以下异常:

  

'无法加载文件或程序集'System.Runtime.Extensions,版本= 4.2.1.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)'

我是netstandard的新手,所以我有点茫然。为什么通过项目引用一切正常,但通过NuGet却不能正常工作?

作为参考,这是我包的nuspec文件:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>Richiban.CommandLine</id>
    <version>0.2.0</version>
    <authors>Richiban.CommandLine</authors>
    <owners>Richiban.CommandLine</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Package Description</description>
    <dependencies>
      <group targetFramework=".NETStandard2.0" />
    </dependencies>
  </metadata>
</package>

除了一些标记为

的Fody编织者之外,我没有引用此项目中的任何依赖项
  <PrivateAssets>all</PrivateAssets>

因为它们没有运行时组件,并且不需要任何二进制文件。

我做错了什么?

0 个答案:

没有答案