C# 合并解决方案文件的最佳方法

C# 合并解决方案文件的最佳方法,c#,.net,visual-studio-2012,solution,C#,.net,Visual Studio 2012,Solution,我从事的一个项目中,一个解决方案上至少有200个项目,每次我尝试获取最新代码时,该解决方案中又添加了4个项目。现在这引起了很多混乱。我曾尝试自己合并解决方案,但过去每当我尝试合并解决方案时,我都会把事情搞砸。也许我做得不对。我有一个关于解决方案的非常具体的问题。我观察到,解决方案分为两部分 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Qualcomm.CPT.PostProcessing.Engine.States.Tests",

我从事的一个项目中,一个解决方案上至少有200个项目,每次我尝试获取最新代码时,该解决方案中又添加了4个项目。现在这引起了很多混乱。我曾尝试自己合并解决方案,但过去每当我尝试合并解决方案时,我都会把事情搞砸。也许我做得不对。我有一个关于解决方案的非常具体的问题。我观察到,解决方案分为两部分

 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Qualcomm.CPT.PostProcessing.Engine.States.Tests", "Qualcomm.CPT.PostProcessing.Engine.States.Tests\Qualcomm.CPT.PostProcessing.Engine.States.Tests.csproj", "{FA1C848D-2C23-45CF-80D9-21470857C539}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Qualcomm.CPT.PostProcessing.Engine.States", "Qualcomm.CPT.PostProcessing.Engine.States\Qualcomm.CPT.PostProcessing.Engine.States.csproj", "{1C82AA5C-5819-46CB-8FD9-254E26E7FEAE}"
EndProject
我认为哪些引用了解决方案中的每个项目和一些各自的ID

现在是第二个pard,如下所示

        {388AAA9D-268E-407E-99DB-07A0F2ECD498}.Release|x64.ActiveCfg = Release|Any CPU
        {388AAA9D-268E-407E-99DB-07A0F2ECD498}.Release|x86.ActiveCfg = Release|Any CPU
        {388AAA9D-268E-407E-99DB-07A0F2ECD498}.WINDA|Any CPU.ActiveCfg = Debug|Any CPU
        {388AAA9D-268E-407E-99DB-07A0F2ECD498}.WINDA|Any CPU.Build.0 = Debug|Any CPU
我最好的猜测是,第二部分中的每一行对应于第一部分中每个项目的不同配置,以此类推。但是,在合并解决方案文件时,我的Performce mergemanager为我提供了选择“服务器”代码或第二部分某些部分的代码的选项

首先,这很难阅读,而且很容易出错。所以为了避免混淆,我只接受服务器的版本,然后手动添加项目。但当我有很多项目要添加时,这是很麻烦的


有什么简单的方法可以摆脱这种情况吗?

出于这个原因,我不喜欢签入解决方案文件。除非所有与项目一起工作的活动用户在源代码管理中共享公共引用或具有相同的驱动器映射,否则它通常以混乱告终:(当我们同时签入解决方案文件时,我也遇到了类似的问题。这总是会导致混乱,就在上周,在TFS合并将解决方案文件弄得一团糟之后,我花了一个小时修复它。但是,我目前知道没有什么好的方法来合并解决方案,除非确保一次只有一个程序员添加一个项目,然后是最新的项目。)解决方案文件是在其他程序员添加另一个解决方案文件之前下载的。在小团队中很容易,而在大团队中则不太容易。