我有一个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
分支中的csproj
和Branches/FeatureXYZ
不是重复/分支,而是来自Main
的重复使用。来自DVCSes,这让我有点意外,但它确实解释了我遇到的问题。
解决方案是什么(假设此时我无法修复实际的 X问题)?是否有正确的方法或模式sln
和csproj
文件不重复使用?
我能想到的唯一解决方法是不那么整洁,让FeatureXYZ
成为Main
的直接兄弟。或者是那个(唯一可行的)解决方案吗?
答案 0 :(得分:1)
如果您使用此..\..\External\Dependency.csproj
来引用依赖项目。
显然,您必须确保您的分支\ Main和\ FeatureXYZ与您的开发计算机中的文件\ External \ Dependency.csproj的文件夹级别相同。
所以要么像你说的那样使FeatureXYZ成为Main的直接兄弟,要么改变工作区映射结构,如提到的@TfsAgent。不要直接映射 MyProject 。分别映射$ / MyProject / Main和$ / MyProject / Branches / FeatureXYZ。