假设我有以下解决方案,其中多个版本的相同代码都针对不同的框架,我想从中生成一个nuget包。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中的依赖项?
我可能只是做,虽然我没有完全做到搞清楚它是什么,我想:) 1.这将是很好的解决方案,以点的NuGet并将它把事情做好 2.它如果生成的包内的不同框架版本可能具有不同的依赖关系,那将会很好。例如WP版本可能需要额外的软件包来提供不属于WP核心的类型。 我会将您的答案标记为现在已被接受,并考虑在这个问题上多一点。 –
在sln上运行nuget包会很好。我想在一个包中封装一组相关的程序集,使它们比单独的包更容易管理。他们不相互依赖。 – PenFold
这是一个胜利的原因是建立服务器非常方便建立和发布一个单一的项目包,但成为一个噩梦,当你需要上述。对我而言,还有一些关键故事缺失,使得整个功能变得多余。谁*不需要为每个CLR打包? –