我在Visual Studio 2008中有一个庞大的项目。它是几年来尝试各种东西的积累,经常从项目中排除(而不是删除)文件。我需要一种永久删除任何排除文件的方法。有成千上万个文件和数百个文件夹。在解决方案资源管理器中手动完成这项工作需要太多时间。
我可以构建一个项目文件解析器并与文件系统进行比较,但我希望有一个快捷方式。
谢谢。
我在Visual Studio 2008中有一个庞大的项目。它是几年来尝试各种东西的积累,经常从项目中排除(而不是删除)文件。我需要一种永久删除任何排除文件的方法。有成千上万个文件和数百个文件夹。在解决方案资源管理器中手动完成这项工作需要太多时间。
我可以构建一个项目文件解析器并与文件系统进行比较,但我希望有一个快捷方式。
谢谢。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
public class ProjectParser
{
static void Main(string[] args)
{
XDocument doc = XDocument.Load(args[0]);
XNamespace ns = "http://schemas.microsoft.com/developer/msbuild/2003";
DumpMatches(doc.Descendants(ns + "Compile")
.Select(x => x.Attribute("Include").Value));
DumpMatches(doc.Descendants(ns + "AssemblyOriginatorKeyFile")
.Select(x => x.Value));
}
static void DumpMatches(IEnumerable<string> values)
{
foreach (string x in values)
{
Console.WriteLine(x);
}
}
}
我最初尝试使用XPath,但命名空间的问题使其变得棘手。
DEL/S *.exclude
命令。我认为编写一个Visual Studio的插件也不会更好。