【发布时间】:2013-06-03 04:23:57
【问题描述】:
我正在将 NuGet 引入我们的软件开发流程,既适用于外部二进制文件(例如 Moq、NUnit),也适用于包含共享功能的内部库项目。
TeamCity 正在从我们的内部库项目中生成 NuGet 包,并将它们发布到本地存储库。我修改后的解决方案文件使用本地存储库来访问 NuGet 包。
考虑以下源代码解决方案:
- Company.Interfaces.sln 构建 Company.Interfaces.1.2.3.7654.nupkg。
- Company.Common.sln 包含通过其 NuGet 包对 Company.Interfaces 的引用,并使用 Company.Interfaces.1.2 构建 Company.Common.1.1.1.7655.nupkg。 3.7654 作为依赖项包含在内。
- Company.DataAccess.sln 使用 Company.Common nupkg 添加 Company.Interfaces 和 Company.Common 作为参考。它建立 Company.DataAccess.1.0.8.7660.nupkg,包括 Company.Common.1.1.1.7655 作为依赖组件。
- Company.Product.A 是一个网站解决方案,其中包含对所有三个库项目的引用(通过选择 Company.DataAccess NuGet 包)。
问题:
如果 Company.Interfaces 的源代码发生更改,我是否总是需要重新编号和重建中间包(Company.Common 和 Company.DataAccess)并更新 Company.Product.A 中的包?
或者这取决于源代码是否更改
- 错误修复,或
- 新功能,或
- 重大变化?
实际上,我有 8 个级别的依赖库包。是否有工具支持更新整个包树,是否有必要?
我知道语义版本控制。
我们正在使用 VS2012、C#4.0、TeamCity 7.1.5。
【问题讨论】:
标签: reference dependencies teamcity nuget