使用特定版本的 nuget 包程序集

Use specific version of nuget package assemblies

我有以下设置:

一个包含两个文件夹的 nuget 包: net45 - 包括程序集 AssemblyOne.dll 和 AssemblyTwo.dll netstandard1.3 - 包括程序集 AssemblyOne.dll 和 AssemblyTwo.dll 当然,这些是同名的不同文件。

我将包安装到一个针对 .NET Framework 4.6.1 版本的项目中。

如何确保将来自 netstandard1.3 的程序集添加到此项目中? 现在添加了net45。

谢谢!

NuGet 不支持此功能。 NuGet 将采用它认为的最佳匹配。

如果您的项目以 .NET Framework 为目标,那么它将认为 NuGet 包中同时以 .NET Framework 为目标的程序集是最佳匹配。一般来说,目标框架越具体越好。

所以你还剩下:

  1. 正在创建一个没有 .NET 4.5 程序集的新 NuGet 包。
  2. 不使用 NuGet,只是提取文件。
  3. 之后修改项目,以便引用您要引用的程序集。

这里的另一个问题是为什么需要引用 .NET Standard 程序集?