在 Visual Studio 中,如何找到引用解决方案中单个项目的其他项目?

In Visual Studio, how do you find other projects referencing a single project in a solution?

在Visual Studio 2015 解决方案中,有没有一种简单的方法可以找出哪些项目正在引用(指代?)某个项目?

我有一个包含 105 个项目的解决方案(是的......这是个坏主意,我们正在努力)。其中一些项目引用其他项目是很常见的。除了暂时删除项目并重建以检查错误外,还有另一种方法可以检查解决方案中引用有问题项目的项目吗?

我有 resharper,它有一个工具(项目依赖关系图)来查找某个项目引用的项目,这与我需要的相反。

此信息包含在 csproj 或 vcxproj 中,而不是解决方案中。您应该能够轻松搜索所有 csprojs:

grep --include=*.csproj -Elr "ProjectReference.*?PROJECTNAME" .

和 google 对于 gnuwin32 grep 如果你没有 grep 方便,或者使用 windows 工具做类似的事情(filelocator pro 是我使用的)。

如果您出于某种原因需要将搜索限制为解决方案中列出的项目,同时排除其他相邻项目,我认为您最终会得到一个复杂得多的命令或脚本。在许多情况下,我希望您可以使用您的智慧来忽略生成的不相关的 .csproj。

如果您有 ReSharper,请右键单击解决方案资源管理器中的项目,然后 select "Find Code Dependent on Module"。这将找到 selected 项目中代码的所有用法。您可以按项目对其进行分组,这将向您显示引用您的 selected 项目的项目(它也会向您显示它们是如何引用它的)。