我如何自动化web项目引用源文件夹外的多个项目



我正在使用门控签入创建自动构建。但是我们有一些项目引用了源目录之外的其他web应用程序。所以我们有一个叫做"PolicyRating"的项目。sln',它在我们的"客户端"文件夹在源代码管理。它引用了我们的"CoreFramework"项目集合中的其他5个项目,当我试图将它部署到我们的QA服务器时,它无法在构建服务器上找到引用的项目。它找不到项目文件。是否有一种方法可以构建一个项目,该项目引用源目录之外的其他项目?我使用TFS 2013

如果您使用的是TFVC,则需要映射一个包含所有这些项目的工作区。

从https://msdn.microsoft.com/en-us/library/ms181716.aspx

:

在Source Settings选项卡上:

TFVC:在工作文件夹表中,指定包含以下文件的版本控制文件夹您的构建过程需要。

提示确保您的构建过程功能正确,提高性能,包括所有文件夹,只有这些文件夹,其中包含的文件,您的构建过程需要。参见使用构建工作区。

如果所有的东西都被分散在多个团队项目集合中,您将无法轻松地做到这一点:项目集合的目的是完全相互隔离,并且用于您希望代码、工作项、测试用例、构建等彼此分离的情况。

您仍然可以通过使用TFS API来完成它,但它不一定是直接的。

另一个选择是使用二进制引用,并将二进制引用转换为NuGet包。但是,您仍然需要在其他团队项目集合中设置构建/打包/发布流程。这将要求您设置单独的构建控制器和构建代理,因为您不能跨团队项目集合共享构建资源。

如果你正在使用Git,并且应用程序被分割到多个存储库,你可以使用子模块。

最终,如果您在团队项目集合中共享代码,最好的选择是将它们合并到单个团队项目集合中。

最新更新