【问题标题】:In Visual Studio, what's a quick way to delete all the exclude files from a project?在 Visual Studio 中,从项目中删除所有排除文件的快速方法是什么?
【发布时间】:2009-04-01 20:01:38
【问题描述】:

我在 Visual Studio 2008 中有一个大型项目。它积累了几年的尝试经验,并且经常从项目中排除(而不是删除)文件。我需要一种永久删除任何排除文件的方法。有数千个文件和数百个文件夹。在解决方案资源管理器中手动执行此操作会花费太多时间。

我可以构建一个项目文件解析器并与文件系统进行比较,但我希望有一个捷径。

谢谢

【问题讨论】:

    标签: visual-studio-2008 file


    【解决方案1】:

    排除的文件是否与其他文件一起受源代码控制?如果没有,只需确保所有内容都已签入,获取到新的临时位置,将旧目录移开作为备份,然后将临时文件夹移动到旧目录所在的位置。

    如果将实验检查到源代码控制中,则稍微困难一些 - 您可能需要使用项目文件解析器。不过,这可能并不难。

    编辑:好的,如果全部在 SVN 中,我建议你编写一个 非常 粗略的项目解析器。给它一个 XPath 表达式(或类似的东西)列表以选择为“可能的路径”。选择项目文件中的所有内容,并将每个选择的文件复制到新位置(包括子目录等)。同时复制项目文件和解决方案文件。然后尝试构建 - 如果它失败了,你错过了一些东西:重复。

    继续进行,直到构建完成,然后对其进行测试。只要一切都好,你就可以把其他一切都吹走:)

    编辑:这是我的意思的那种事情的开始

    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,但命名空间的东西让它很痛苦。)

    【讨论】:

    • 我用它来摆脱更大项目中的一些分支(只是为了修改 csproj)。虽然这种方法很有效,但如果我想使用 Visual Studio 删除多个文件,我不得不编写控制台应用程序仍然很遗憾。
    • @OndrejSvejdar:您可以考虑使用 scriptcs 使其更紧凑,并避免将其编译为单独的项目...
    【解决方案2】:

    打开命令提示符并尝试DEL/S *.exclude。我认为您最好为 Visual Studio 编写加载项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多