我正在尝试使用“Nuget Package Explorer”创建一个nuget。该项目引用了 2 个以 .net4.0 为目标的 dll,而主 dll 则以 .net4.5 为目标。
按照指定,我将 2 个引用的 dll 放在“lib”文件夹内名为“net40”的文件夹中,将主 dll 放在名为“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
未添加引用列表,仅添加了其他两个程序集。
该项目引用了2个以.net4.0为目标的dll,主dll以.net4.5为目标。
按照指定,我将 2 个引用的 dll 放在“lib”文件夹内名为“net40”的文件夹中,将主 dll 放在名为“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 包相互依赖,而不是将依赖的程序集放入同一个包中。