【问题标题】:In Visual Studio, how do you find other projects referencing a single project in a solution?在 Visual Studio 中,如何找到引用解决方案中单个项目的其他项目?
【发布时间】:2016-07-20 23:30:04
【问题描述】:
在 Visual Studio 2015 解决方案中,是否有一种简单的方法可以找出哪些项目正在引用(引用?)某个项目?
我有一个包含 105 个项目的解决方案(是的……这是个坏主意,我们正在努力)。其中一些项目引用其他项目是很常见的。除了暂时删除项目并重建以检查错误之外,还有其他方法可以检查解决方案中提到的项目中的项目吗?
我有 resharper,它有一个工具(项目依赖关系图)来查找某个项目引用的项目,这与我需要的相反。
【问题讨论】:
标签:
visual-studio
visual-studio-2015
resharper
【解决方案1】:
如果您有 ReSharper,请右键单击解决方案资源管理器中的项目并选择“查找依赖于模块的代码”。这将找到所选项目中代码的所有用法。您可以按项目对其进行分组,这将向您显示引用您所选项目的项目(它也会向您显示它们是如何引用它的)。
【解决方案2】:
此信息包含在 csproj 或 vcxproj 中,而不是解决方案。你应该可以很容易地用这个搜索所有的 csprojs:
grep --include=*.csproj -Elr "ProjectReference.*?PROJECTNAME" .
如果您手头没有 grep,或者使用 Windows 工具执行类似操作(我使用的是 filelocator pro),请在谷歌搜索 gnuwin32 grep。
如果您出于某种原因需要将搜索限制在解决方案中列出的项目,同时排除其他相邻项目,我认为您最终会得到一个更复杂的命令或脚本。在许多情况下,我希望您可以利用自己的智慧忽略不相关的结果 .csproj。