【问题标题】:Use specific version of nuget package assemblies使用特定版本的 nuget 包程序集
【发布时间】:2017-07-22 14:01:34
【问题描述】:
我有以下设置:
一个包含两个文件夹的 nuget 包:
net45 - 包括程序集 AssemblyOne.dll 和 AssemblyTwo.dll
netstandard1.3 - 包括程序集 AssemblyOne.dll 和 AssemblyTwo.dll
当然,这些是同名的不同文件。
我将包安装到一个面向 .NET Framework 4.6.1 版本的项目中。
如何确保将 netstandard1.3 中的程序集添加到该项目中?
现在已经添加了 net45 个。
谢谢!
【问题讨论】:
标签:
.net
nuget
.net-standard
【解决方案1】:
NuGet 不支持此功能。 NuGet 将采用它认为的最佳匹配。
如果您的项目以 .NET Framework 为目标,那么它将认为 NuGet 包中也以 .NET Framework 为目标的程序集是最佳匹配。一般来说,目标框架越具体,就会胜出。
所以你只剩下:
- 创建一个没有 .NET 4.5 程序集的新 NuGet 包。
- 不使用 NuGet,只提取文件。
- 之后修改项目,以便引用您要引用的程序集。
这里的另一个问题是为什么需要引用 .NET Standard 程序集?