问题:
我会尽量保持简单。
我们的目标:
我们想将Nuget用于NLog。但是,我们希望确保.NET 2.0项目仅绑定到Nuget NLog 2.0库,而.NET 4.0项目仅绑定到Nuget NLog 4.0库。
Nuget有没有支持这个?即配置等
感谢。
答案 0 :(得分:1)
NLog包包含.NET 2.0和.NET 4.0平台的程序集。您应该将程序集放在同一个程序包中,并将NLog称为依赖项。当您将包添加到项目中时,NuGet将为NLog和您的包提供正确的程序集。
答案 1 :(得分:0)
正如Ufuk所说,NLog包已经包含.NET 2.0和4.0的程序集。
如果您只有一个解决方案:
但是,您有两个解决方案,并且您想要创建一个包。在这种情况下:
创建具有以下结构的文件夹(不得包含NLog程序集):
PACKAGE_NAME
| lib
| | net40
| | | (insert here your .NET 4.0 assemblies)
| | net45
| | | (insert here your .NET 4.5 assemblies)
转到此文件夹的根目录。
使用您的包数据编辑PACKAGE_NAME.nuspec(可能使用NuGet包资源管理器),并在元数据中包含以下行:
<dependencies>
<dependency id="NLog" version="REPLACE_WITH_VERSION" />
</dependencies>
运行NuGet Pack命令。您的包将被创建(您可以使用NuGet Package Explorer检查它是否正常)。
现在,安装软件包的每个人都会正确引用您的程序集。
如果您需要更多详细信息,请查看此link。