假设我有以下解决方案,同一个代码的多个版本,每个版本都针对不同的框架,我想从中生成一个nuget包.
SharedLib.sln
SharedLib.Net35.csproj
packages.config
SharedLib.Net40.csproj
packages.config
SharedLib.Phone.csproj
packages.config
SharedLib.SL4.csproj
packages.config
Run Code Online (Sandbox Code Playgroud)
预期的nupkg具有以下结构
SharedLib.1.0.nupkg
lib/net35/SharedLib.dll
lib/net40/SharedLib.dll
lib/sl4-wp/SharedLib.dll
lib/sl4/SharedLib.dll
Run Code Online (Sandbox Code Playgroud)
nuget.exe pack SharedLib.SL4.csproj 将自动确定目标框架是SilverLight4并将二进制文件放入 lib/sl4
我知道我可以添加一个SharedLib.SL4.nuspec带有一个<file>部分的文件来包含来自其他项目的二进制文件,但是有没有办法让nuget自动将组合的解决方案输出放到适当的结构中(并且还检测来自所有项目的packages.config中的依赖项?
不,除了编写自定义构建脚本以将文件放在正确的位置然后在它们上运行NuGet包,或者采用您描述的.nuspec方法之外,目前还没有办法做到这一点.
这是我们想要的功能,但没有想到这样做的好方法.但是,你的帖子只是给了我一个想法.
今天,您可以将nuget pack指向.csproj文件.
我们可以考虑一种方法,允许您将其指向.sln文件,如果项目名称遵循某些约定,我们将所有项目打包到一个包中.
如果您确实需要此功能,请考虑在NuGet问题跟踪器中记录问题.http://nuget.codeplex.com/workitem/list/basic
| 归档时间: |
|
| 查看次数: |
4243 次 |
| 最近记录: |