解决 TFS 2015 中的依赖关系
Resolving dependencies in TFS 2015
我在 TFS 2015 中有两个单独的解决方案。我们将它们称为解决方案 1 和解决方案 2。 Solution1 的构建创建了 Solution2 所需的程序集。我不确定在 TFS 中处理这种依赖关系的最佳方法。
可能的场景可能包括。
- 每次 Solution1 成功构建时,它都会将新程序集复制到 Solution2,这反过来会触发 Solution2 的构建(这在 TFS 中可行吗?如果可行,如何实现?)
- Solutiuon2 的每个构建都从 Solution1 中提取最新版本的程序集
其他人如何处理 TFS 项目之间的依赖关系?
您应该将解决方案 1 的输出打包为 Nuget 包并将其发布到 Nuget 存储库。您可以使用网络共享、MyGet、VSTS 或 TFS 2017 作为程序包存储库。
您的第二个解决方案可以依赖于该 Nuget 包,您可以选择何时更新。
如果你想自动更新包,你可以在解决方案 2 构建之前调用一些东西,比如评论中提到的 pre-build 步骤。
如其他答案中所述,您可以使用 NuGet 部署对其进行管理。这才是真正清晰和奇特的方式。
另一种方法可能是,如果您对两种解决方案使用相同的输出文件夹,并且
您总是先构建 Solution1。
第三种方法可以是您始终将 Solution1 部署到特定位置,Solution2 可以引用该位置。它在逻辑上类似于 NuGet 版本,但是您不依赖它(但恕我直言,这种依赖在 "normal" 情况下是可以接受的)。
您的实际选择取决于环境和您的限制。
我在 TFS 2015 中有两个单独的解决方案。我们将它们称为解决方案 1 和解决方案 2。 Solution1 的构建创建了 Solution2 所需的程序集。我不确定在 TFS 中处理这种依赖关系的最佳方法。
可能的场景可能包括。
- 每次 Solution1 成功构建时,它都会将新程序集复制到 Solution2,这反过来会触发 Solution2 的构建(这在 TFS 中可行吗?如果可行,如何实现?)
- Solutiuon2 的每个构建都从 Solution1 中提取最新版本的程序集
其他人如何处理 TFS 项目之间的依赖关系?
您应该将解决方案 1 的输出打包为 Nuget 包并将其发布到 Nuget 存储库。您可以使用网络共享、MyGet、VSTS 或 TFS 2017 作为程序包存储库。
您的第二个解决方案可以依赖于该 Nuget 包,您可以选择何时更新。
如果你想自动更新包,你可以在解决方案 2 构建之前调用一些东西,比如评论中提到的 pre-build 步骤。
如其他答案中所述,您可以使用 NuGet 部署对其进行管理。这才是真正清晰和奇特的方式。
另一种方法可能是,如果您对两种解决方案使用相同的输出文件夹,并且 您总是先构建 Solution1。
第三种方法可以是您始终将 Solution1 部署到特定位置,Solution2 可以引用该位置。它在逻辑上类似于 NuGet 版本,但是您不依赖它(但恕我直言,这种依赖在 "normal" 情况下是可以接受的)。
您的实际选择取决于环境和您的限制。