我正在尝试使用“Nuget Package Explorer”创建一个nuget。该项目引用了2个dll女巫目标.net4.0和主dll目标.net4.5。
按照规定,我将2个引用的dll放在名为“net40”的“lib”文件夹内的文件夹中,主文件夹名为“net45”,然后我推送位于here的nuget
但是当我尝试在另一个项目中安装它时,它不会占用任何dll!
我做错了吗?
谢谢。
更新
nuget包包含:
lib (folder)
net45 (folder)
MainAssembly.dll -> targets .net_4.5
Microsoft.VisualStudio.TextTemplating.10.0 -> targets .net_4
Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 -> targets .net_4
注释:
MainAssembly
需要另外两个程序集问题:
使用上面的结构创建一个nuget包不起作用,当在新项目中安装nuget时MainAssembly
没有添加引用列表,只添加了另外两个程序集。
答案 0 :(得分:0)
该项目引用2个dll女巫目标.net4.0和主dll目标.net4.5。
按照规定,我将2个引用的dll放在名为“net40”的“lib”文件夹内的文件夹中,主文件夹名为“net45”,然后我推送位于here的nuget
NuGet包可以针对多个.NET框架版本。但是,.NET项目不能。
您的依赖程序集必须放在同一个.NET Framework版本文件夹中,才能将它们安装到目标项目中。因此,如果您希望NuGet包定位到4.0和4.5,则结构应如下所示:
lib
net40
MainAssembly.dll
DependentAssembly1.dll
DependentAssembly2.dll
net45
MainAssembly.dll
DependentAssembly1.dll
DependentAssembly2.dll
每个组中的主程序集必须以与父文件夹相同的框架版本为目标。依赖程序集可以针对与目标版本相同或更低的任何版本。
请注意,通常每个程序集都打包为一个单独的NuGet包,而NuGet包依赖于彼此,而不是将相关的程序集放在同一个程序包中。