在csproj文件中查找并删除重复的条目

Pat*_*ham 3 tfs visual-studio-2015

我们最近合并了两个代码分支,最终得到了.csproj文件中几个文件的重复条目.这似乎发生在所有需要复制到输出目录的文件发生变更后,总是在完成更改并与其他分支合并之后.

我想知道这是否会导致任何意想不到的问题,如果它留下这样,我应该怎么做来解决它.这是很多文件,所以我不想通过手动为每个文件执行此操作.它也不是所有文件,但它是大量文件.我该怎么办?

小智 12

如果其他人正在寻找一种自动执行此操作的方法,我会为此编写一个脚本:RemoveCsProjDuplicates.ps1

该脚本将在提供的文件夹中找到所有csproj文件,删除所有重复项并保存文件.

使用刚刚运行

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

随意使用并根据您的需求进行调整


Pat*_*ham 4

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

我第一次尝试时,我没有刷新解决方案资源管理器,也没有改变任何内容,但是在将所有文件从项目中删除后,刷新并切换显示/隐藏所有文件几次后,将它们包括回来,仅添加了对它们的引用一次而不是我看到的两次。

真正让这一切变得如此快捷的是,我可以通过使用 Shift 键单击和 Ctrl 键单击来选择我想要处理的所有文件,然后右键单击以对它们作为一个组执行任何操作,例如从项目中排除,包括项目,或更改复制到输出目录设置。