CI 和 VSTS 中的包管理 (Nuget)

CI and Package Management (Nuget) in VSTS

我正在使用 CI 和 VSTS。我的解决方案中有大约 50 个项目,因此这些项目之间存在很多依赖关系。我正在尝试使用 VSTS 的打包中心为其他人引用的那些项目创建包。

我创建了一个新的提要:

假设我有三个项目 A、B 和 C。A 和 B 都引用 C。所以,我需要创建 "C" 作为一个包

问题:

  1. 第 3 步中的 "yourpackage.nupkg" 是什么?是我需要在本地机器上打包的项目"C"吗?
  2. 完成后下一步是什么?我们如何添加包来构建 A 和 B 的定义?
  3. 如何在项目 "C" 代码更改时自动更新包?我想应该有一种方法可以使构建定义发布对包的更改(项目 "C")。

您问题的答案:

  1. 第 3 步中的 "yourpackage.nupkg" 是什么?是我需要在本地机器上打包的项目"C"吗?

是的,它是项目 C 的 nuget 包,您可以在本地计算机上或在 VSTS 构建期间创建它。详情参考这个link:Creating and Publishing a Package

  1. 完成后下一步是什么?我们如何添加包来构建 A 和 B 的定义?

您需要将项目 C 的 nuget 包添加到项目 A 和 B 中,然后在项目 A 和 B 的构建定义中,确保您在 "Visual Studio Build" 任务之前有一个 "Nuget Installer" 任务在 运行 为项目 A 和 B 构建之前恢复项目 C 的 nuget 包文件。详情参考这个link:Consume NuGet packages in Visual Studio

  1. 如何在项目 "C" 代码更改时自动更新包?我想应该有一种方法可以使构建定义发布对包的更改(项目 "C")。

您可以创建构建定义来创建 nuget 包并将包发布到项目 C 的 VSTS,并将构建定义设置为 "Continuous integration (CI)"。步骤可以参考我在这个问题中的回答失败:Create NuGet Package using MSBuild and VSOnline

更详细的内容请参考这个link 详情:Use Team Build to restore and publish packages