【发布时间】:2014-02-11 17:20:53
【问题描述】:
首先,我将描述我们的设置(它是企业开发管道的一个极其简化的版本)。我们开发了一个.NET 应用程序,它依赖于一些共享组件。共享组件通常与应用程序一起开发。我们希望将这些共享组件转换为 NuGet 包。
所以,我发布了包 A 的 1.0.0.4 版本,并希望在我的应用程序中使用它。我的 packages.config 看起来像这样。
<package id="A" version="1.0.0.4"/>
到目前为止一切顺利。此时我可能会将 packages.config 提交给版本控制以记住我的依赖项。现在我运行包 A 的下一个版本,它发布版本 1.0.0.5。现在我希望我的应用程序在构建之前自动将包 A 更新到 1.0.0.5。
但是,我的包配置现在包含一个精确的 1.0.0.4 版本,并且它是受版本控制的。我的问题是:
- 我可以在包配置中以某种方式指定我想要 1.0 或更高版本吗?换句话说,我可以避免在每个包的每个新版本中更改 packages.config 吗?
- 我可以在构建到最新版本之前以某种方式更新依赖项吗?我可以使用脚本自动完成吗?
我对 NuGet 很陌生,我来自 ant+ivy/maven 世界,这个功能是自动的,所以我仍然希望我在 NuGet 中遗漏了一些明显的东西,尽管浏览关于 stackoverflow 的讨论并没有听起来不太令人鼓舞。
我找到了Using Nuget in development environment - best practices / how to 和How to automatically update NuGet packages to latest available version 和NuGet issues with packages.config, project references and the solutionwide packages folder,没有给出明确的答案。
【问题讨论】:
标签: continuous-integration nuget nuget-package