2016-06-24 63 views
1

我们最近合并了两个代码分支,并以.csproj文件中几个文件的重复条目结尾。这似乎发生在需要复制到输出目录的所有文件在更改完成并且与其他分支合并之后总是被更改为复制。查找并删除csproj文件中的重复条目

我想知道这是否会导致任何意想不到的问题,如果它是这样,我应该怎么做才能解决它。这是很多文件,所以我不想通过手动执行每个文件。它也不是所有的文件,但它是相当数量的文件。我该怎么办?

+1

你的意思是一些文件的文件不执行合并过程?你在VS中使用默认的合并工具吗?你能分享一个截图,因为我从未见过这个问题吗?检查这种情况下,看看它是否有帮助:http://stackoverflow.com/questions/14200484/tfs-merge-creates-duplicate-entries-in-solution-project-files –

+0

我不是说一些文件文件不执行合并过程。我在Visual Studio中使用了默认的合并工具,但是我没有进行合并,导致问题出现,这是我团队中的另一位开发人员。我假设他们也使用默认合并工具。我无法添加屏幕截图,因为这些文件和名称是专有的。该链接没有帮助,因为它只是建议首先使用不同的合并工具,但损坏已经完成。 –

回答

2

我最终做的是从项目中删除所有受影响的文件,刷新解决方案资源管理器并显示包括项目中不再包含的所有文件,然后将文件重新包含到项目中。

我第一次尝试时我没有刷新解决方案资源管理器,但它没有改变任何东西,但刷新和切换后,显示/隐藏所有文件几次后,从项目中删除它们,包括他们回来只添加一次提到他们,而不是我看到的两次。

真正做到这一点的是,我可以通过使用shift-click和ctrl-click然后右键单击来执行对它们的任何操作,比如从中排除所有想要使用的文件项目,包括在项目中,或将副本更改为输出目录设置。

4

万一有人在寻找一种方式来自动做到这一点,我把一个脚本这一点:RemoveCsProjDuplicates.ps1

该脚本会发现,在所提供的文件夹中所有的csproj文件,删除所有重复和保存文件。

在使用时只需运行

。\ RemoveCsProjDuplicates.ps1 -FilePath [解决方案文件夹]

随意使用,并使其适应您的需求