【问题标题】:How to find which existing .NET solutions contain a certain project?如何查找哪些现有 .NET 解决方案包含某个项目?
【发布时间】:2010-06-11 18:28:28
【问题描述】:

我正在探索具有 C# 项目的文件夹结构,例如:

  • 项目
    • 项目A
    • 项目B
    • 项目C
    • 项目D

分散在与 .csproj 文件相同的文件夹中,有几个解决方案 (.sln) 文件。有没有一种快速的方法可以找到所有包含 ProjectD.csproj 的解决方案?我可以一个一个打开它们,看看它们包含什么,但我想要一个功能,例如“查找包含该项目的所有解决方案”。

【问题讨论】:

    标签: .net visual-studio projects-and-solutions


    【解决方案1】:

    只需在所有扩展名为 .sln 的文件中进行 Find in Files 搜索,然后查找以“Project”一词开头的任何行。

    我喜欢 TextPad,所以我用它来搜索,但还有很多其他工具,包括许多免费工具。

    【讨论】:

    • 例如,grepWin 和 WinGrep 可以将这些行与它们所在的文件一起传递。
    【解决方案2】:

    我认为这是不可能的,因为 VS 一次打开一个解决方案。但是创建一个在 .sln 文件中搜索的简单脚本应该不难(总比没有好)。

    【讨论】:

      【解决方案3】:

      安装Cygwin 并在解决方案文件上运行grep。你永远不会回头……

      【讨论】:

        【解决方案4】:

        以上两种解决方案(David M'sho1's)都可以。

        就我个人而言,我发现 grep 解决方案比尝试使用 MS 文件搜索实用程序更快,但第二个解决方案效果很好,尤其是如果您不想安装额外的软件来做您想做的事情。

        【讨论】:

          【解决方案5】:

          我编写了一个 Perl 脚本来执行此操作(尽可能使用 libxml2 解析文件,因此它比 grepping 稍微复杂一些)。它并不完美,但我不断改进我使用它的每个代码库。 我现在不发布脚本。

          更根本的改进是针对 Visual Studio API 进行编程。

          在我的另一个 Perl 脚本xref 中实现了对文件中的文件名进行 grepping 的粗略方法。不幸的是,正确使用它可能会变得很棘手,因此您可能更喜欢手动使用 find 和 grep。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-09-26
            • 1970-01-01
            • 2011-08-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-04-22
            • 2017-10-05
            相关资源
            最近更新 更多