我在一个拥有多个分支机构的大型团队中工作,并定期进行合并。
定期发生的一件事是,Web项目文件最终会出现静态内容的重复条目(.js,favicon.ico等...)。
我有两种删除重复项的方法:
两者都很乏味,我对它们不满意 - 你有更好/更快/更快的方法吗?
答案 0 :(得分:5)
最简单的方法是只需右键单击副本,然后选择“从项目中排除”选项。刷新项目后副本将消失。
答案 1 :(得分:0)
对于桌面应用程序,最烦人的事情是VS仅告诉您它遇到的第一个重复项,并且您必须在每次修复后一遍又一遍地重新构建。这是一个简单的LINQ pad脚本,在合并后需要清理时可以使用:
var hash = new HashSet<string>();
using (var fs = File.OpenRead(@"path\to\csproj\file"))
using (var sr = new StreamReader(fs))
{
while (!sr.EndOfStream)
{
var line = sr.ReadLine().Trim();
if (line.StartsWith(@"<Reference") || line.StartsWith(@"<Compile") || line.StartsWith(@"<Page"))
{
if (!hash.Add(line))
{
line.Dump();
}
}
}
}
它列出了在.csproj
文件中找到的所有重复项(我希望VS现在自己完成一些工作,但是,好吧,也许再过10年)。您仍然必须手动删除重复项,但是完整列表可以大大加快操作速度。