创建比Main更深的TFS分支会破坏外部依赖关系

时间:2015-11-17 10:30:51

标签: visual-studio version-control tfs

我有一个XY问题,但我现在必须处理Y. X问题是我的项目和解决方案文件引用了团队项目之外的外部,例如:

<ProjectReference Include="..\..\External\Dependency.csproj">

我正在尝试创建我的团队项目应用程序的一个分支,并且整洁我创建了一个Branches文件夹来保存这些分支,从而形成了这个(示例)结构:

$/MyProject/Main                    << with sln file and a folder per csproj
$/MyProject/Branches/FeatureXYZ     << a branch of "Main"

分支后,我在sln中打开了Main,并验证了一切仍然存在。之后,我使用团队资源管理器从sln打开Branches/FeatureXYZ,但发现无法加载Dependency项目。

在调查磁盘上的文件夹之后,我突然意识到sln分支中的csprojBranches/FeatureXYZ 不是重复/分支,而是来自Main重复使用。来自DVCSes,这让我有点意外,但它确实解释了我遇到的问题。

解决方案是什么(假设此时我无法修复实际的 X问题)?是否有正确的方法或模式slncsproj文件重复使用?

我能想到的唯一解决方法是不那么整洁,让FeatureXYZ成为Main的直接兄弟。或者那个(唯一可行的)解决方案吗?

1 个答案:

答案 0 :(得分:1)

如果您使用此..\..\External\Dependency.csproj来引用依赖项目。

显然,您必须确保您的分支\ Main和\ FeatureXYZ与您的开发计算机中的文件\ External \ Dependency.csproj的文件夹级别相同。

所以要么像你说的那样使FeatureXYZ成为Main的直接兄弟,要么改变工作区映射结构,如提到的@TfsAgent。不要直接映射 MyProject 。分别映射$ / MyProject / Main和$ / MyProject / Branches / FeatureXYZ。