我是Team Services(基于Web)构建过程的新手。以前我问了一个不同的问题,使用TF进行版本控制的解决方案。感谢一位伟大的个人解决了问题。我现在正在尝试使用git进行版本控制,并遇到了类似的情况。
我有一个项目A和B的解决方案1,其中B依赖于A(公共代码)。项目A采用不同的解决方案2,但通过"添加...现有项目"添加到解决方案1中。解决方案和项目都在不同的git repo下。我使用项目B的子模块来引入项目A并且该部分有效。但是,项目A被拉入" d:\ a \ 1 \ s \ ProjectA"和 当构建代理尝试构建项目B时,它正在查看" d:\ a \ 1 \ s \ ProjectB .... \ ProjectA \"对于依赖。如何更改此部分以告知构建代理项目A的位置?或者我如何告诉子模块将项目A拉到" d:\ a \ 1 \ s \ ProjectB .... \ ProjectA \"?
谢谢!
答案 0 :(得分:0)
由于您已将ProjectA添加为ProjectB的子模块,因此您应通过在子模块中选择ProjectA(而不是解决方案2)来为ProjectB添加依赖项。所以你应该删除你添加的projectA,然后使用Add - >现有项目 - >从子模块中选择projectA - >行。
然后提交/推送更改为VSTS git repo。并构建您的ProjectB,它应该在子模块路径中找到依赖项。
或者,如果您想在本地仓库中使用位于root/ProjectB/.../ProjectA
的子模块,则应转到root/ProjectB/...
目录,然后使用git submodule add <URL for the repo including ProjectA>
。然后子模块将位于root/ProjectB/.../ProjectA
。