nuget 是否适合日常开发工作流程?

mea*_*stp 5 continuous-integration automation nuget nuget-package-restore

我正在寻找 nuget 来改进开发过程中对依赖项(内部和第三方)的自动处理。

只要你通过 CI Build Server 开发,一切都好:

  1. 获取 A 和 B 的最新来源,其中 B 取决于 A
  2. 修复 A 中的错误
  3. 建个
  4. 签入源代码管理
  5. CI 构建服务器启动
  6. 创建新的 nuget 包并将其放置在公司存储库中
  7. 构建 B(将获得更新的 A 包)
  8. 运行 B 以验证 A 中的错误是否已修复。重复n次

但是,我想知道是否可以作为单个开发人员在本地工作,而不必等待 CI Build Server 生成新包?

Nuget 具有包还原功能,它将在构建时自动下载所有依赖项。您还可以列出包还原应查找包的存储库顺序。

如果工作流程可以变成:

  1. 获取 A 和 B 的最新来源,其中 B 取决于 A
  2. 修复 A 中的错误
  3. 建个
  4. (构建创建一个本地 nuget 包)
  5. 运行 B 以测试 A 中的(已解决的)错误(现在应该使用我们的本地 nuget 包,而不是本地存储库)
  6. ...重复n次
  7. 签入源代码管理
  8. CI 构建服务器启动
  9. 在公司存储库中创建的新 nuget 包

这是否可以使用 Visual Studio、MSBuild、CI 构建服务器和 nuget?我对在本地开发的同时制作本地包特别感兴趣。

请注意,我有本机项目,尽管除了生成 nuget 包后期构建之外,这将是一个我希望应该适用于 C# 和 C++ 项目的工作流程。

bvj*_*bvj 2

当然。在我们的解决方案中,NuGet 将库存放在解决方案层次结构的“packages”目录中,该目录最终保存在 TFS 中。这允许完整的解决方案签出,包括所需的库。如果您打算更新通常由 NuGet 提供的库,则需要更新依赖项目的引用以指向包含通常由 NuGet 进程提供的更新代码的项目。

在签入常规解决方案工作(不是 NuGet 相关库)之前,请确保解决方案的 NuGet 库是最新的,并且解决方案中的引用指向 NuGet 安装的库。当然,您将事先签入并获取 NuGet 相关库。