项目引用v NuGet依赖项

Dav*_*ite 6 teamcity dependencies reference nuget

我正在将NuGet引入我们的软件开发过程,包括外部二进制文件(例如Moq,NUnit)和包含共享功能的内部库项目.

TeamCity从我们的内部库项目生成NuGet包,并将它们发布到本地存储库.我修改的解决方案文件使用本地存储库来访问NuGet包.

请考虑以下源代码解决方案:

  1. Company.Interfaces.sln构建Company.Interfaces.1.2.3.7654.nupkg.
  2. Company.Common.sln通过其NuGet包包含对Company.Interfaces的引用,并构建Company.Common.1.1.1.7655.nupkg,其中包含Company.Interfaces.1.2.3.7654作为依赖项.
  3. Company.DataAccess.sln使用Company.Common nupkg添加Company.Interfaces和Company.Common作为参考.它构建 Company.DataAccess.1.0.8.7660.nupkg,包括Company.Common.1.1.1.7655作为依赖组件.
  4. Company.Product.A是一个网站解决方案,包含对所有三个库项目的引用(通过选择Company.DataAccess NuGet包添加).

问题:

如果对Company.Interfaces的源代码更改,我是否始终需要重新编号和重建中间包(Company.Common和Company.DataAccess)并更新Company.Product.A中的包?

或者这取决于源代码是否改变

  • 错误修复,或
  • 一个新功能,或
  • 突如其来的变化?

实际上,我有8级依赖库包.是否需要更新整个软件包树的工具支持?

我知道语义版本控制.

我们使用的是VS2012,C#4.0,TeamCity 7.1.5.

Ale*_*nko 3

最好在每次签入时更新所有内容,以便尽早进行测试。

您所描述的内容可以使用工件依赖项( http://confluence.jetbrains.com/display/TCD7/Artifact+Dependency)和“完成构建”构建触发器(甚至仅“Nuget 依赖项触发器”)轻松管理。