为具有多个项目的解决方案创建nuget包

Cha*_*let 16 .net c# dependencies nuget nuget-package

我们目前正在构建包含多个项目的解决方案.

我们有这样的事情:

- Common
  - Logging
     - Logging.NLog
- Threading
Run Code Online (Sandbox Code Playgroud)

所以Logging.NLog依赖于Logging,Logging on Common等.

当我们打包Logging.NLog时,我希望nuget能够发现Loggin和Common dependecies.

此刻,我用Common创建了一个包,然后在Logging中我安装了包Common

install-package Common
Run Code Online (Sandbox Code Playgroud)

但每当我对Common进行修改时,我都必须更新包,它们是由我们的连续集成系统(Hudson)创建的,所以当我们开发时它非常烦人.

我想简单地有一个项目参考(添加引用 - >项目...),并且nuget无论如何都会发现依赖项.

有没有办法实现它?

Cri*_*scu 16

计划功能针对此确切方案.

这显然是这样的:

> nuget.exe pack proj.csproj -IncludeReferencedProjects
Run Code Online (Sandbox Code Playgroud)

这显然已经实施单纯前,但也有漏洞 还是 .

目前的功能允许:

  • 将几个项目的工件打包到一个nuget包中(通过递归遍历项目引用),

要么

  • 如果引用的项目附带.nuspec文件,则创建对这些项目的关联包的nuget包引用.

功能请求一直追溯到1.5,但它一直在滑动.最近,它收集了足够的质量(请求),计划在Nuget 2.3中发布.

发布计划为"2013年4月底"钉住版本2.3,敬请关注.
(目前,最新的Nuget版本是2.2.1).

  • 这似乎在我的版本(2.5.40416.9020)中工作正常,不需要.nuspec文件中的任何<file>或<reference>元素(在此示例中为proj.nuspec). (3认同)