假设我有以下解决方案,其中包含相同代码的多个版本,每个版本都针对不同的框架,并且我想从中生成一个 nuget 包。
SharedLib.sln
SharedLib.Net35.csproj
packages.config
SharedLib.Net40.csproj
packages.config
SharedLib.Phone.csproj
packages.config
SharedLib.SL4.csproj
packages.config
预期的 nupkg 具有以下结构
SharedLib.1.0.nupkg
lib/net35/SharedLib.dll
lib/net40/SharedLib.dll
lib/sl4-wp/SharedLib.dll
lib/sl4/SharedLib.dll
nuget.exe pack SharedLib.SL4.csproj
将自动确定目标框架是 SilverLight4 并将二进制文件放置在lib/sl4
我知道我可以添加一个SharedLib.SL4.nuspec
文件带有<file>
部分包含来自其他项目的二进制文件,但有没有办法让 nuget 自动将组合的解决方案输出放入正确的结构中(并且还检测所有项目中的 packages.config 中的依赖项?
不,目前除了编写自定义构建脚本将文件放在正确的位置然后对其运行 NuGet pack 或采用您描述的 .nuspec 方法之外,目前没有其他方法可以做到这一点。
这是我们想要的一个功能,但还没有想到一个好的方法。然而,你的帖子只是给了我一个想法。
今天,您可以将 nuget pack 指向 .csproj 文件。
我们可以考虑一种允许您将其指向 .sln 文件的方法,如果项目名称遵循某种约定,我们会将所有项目打包到一个包中。
如果您确实需要此功能,请考虑在 NuGet 问题跟踪器中记录问题。http://nuget.codeplex.com/workitem/list/basic http://nuget.codeplex.com/workitem/list/basic
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)