我正在使用gated check ins创建自动构建。但是我们有一些项目引用了源目录之外的其他Web应用程序。所以我们有一个名为'PolicyRating.sln'的项目,它位于源代码管理的'Client'文件夹中。它在我们的'CoreFramework'项目集合中引用了其他5个项目,当我尝试将其部署到我们的QA服务器时,它无法在构建服务器上找到引用的项目。它找不到项目文件。有没有办法构建一个引用源目录之外的其他项目的项目?我正在使用TFS 2013
答案 0 :(得分:0)
如果您正在使用TFVC,则需要映射包含所有这些项目的工作区。
来自https://msdn.microsoft.com/en-us/library/ms181716.aspx:
在“源设置”选项卡上:
TFVC:在“工作文件夹”表中,指定包含该文件的版本控制文件夹 你的构建过程需要。
提示确保您的构建过程 功能正常并提高性能,包括所有文件夹, 并且只有这些文件夹包含构建过程的文件 需要。请参阅使用构建工作区。
如果所有内容都分散在多个团队项目集合中,您将无法轻松完成此任务:项目集合旨在彼此完全隔离,适用于您需要的情况代码,工作项,测试用例,构建等彼此分离。
您仍然可以使用TFS API来完成它,但它不一定是直截了当的。
另一种选择是使用二进制引用,并将二进制引用转换为NuGet包。但是,您仍然需要在其他团队项目集合中设置构建/打包/发布流程。这将要求您设置单独的构建控制器和构建代理,因为您无法跨团队项目集合共享构建资源。
如果您正在使用Git并且应用程序在多个存储库中拆分,则可以使用子模块。
最终,如果您在团队项目集合中共享代码,则最好的选择是将它们合并到一个团队项目集合中。