如何找到哪些现有.NET解决方案包含某个项目?

时间:2010-06-11 09:22:51

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

我正在使用C#项目探索文件夹结构,如下所示:

  • 项目
    • 项目A
    • 项目B
    • 项目C
    • ProjectD

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

5 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

就个人而言,我发现grep解决方案比尝试使用MS File Search实用程序更快,但第二种方法效果很好,特别是如果你不想安装额外的软件来做你想做的事情。

答案 4 :(得分:0)

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

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

在文件内部文件名的grepping方法是在我的另一个Perl脚本xref中实现的。不幸的是,正确使用它会变得棘手,所以你可能更喜欢手动使用find和grep。