【问题标题】:How to know which other projects refer to a certain project in Visual Studio?如何知道哪些其他项目引用了 Visual Studio 中的某个项目?
【发布时间】:2012-03-06 22:36:59
【问题描述】:

在 Visual Studio 中,对于一个类、一个字段、一个方法,我只需右键单击并说“查找所有引用”即可查看谁在调用我的代码。

但是对于一个项目来说,没有类似的东西。

最简单的方法是什么? 我必须检查每个项目才能告诉吗?

编辑:

A 引用 B,但使用 Regex 找不到 B。

【问题讨论】:

  • 您是否要查找哪些项目引用了给定项目?
  • 是的,我就是这个意思。对不起,如果我的英语让你感到困惑。
  • 简单的方法是删除项目引用并重新编译。

标签: visual-studio visual-studio-2010 projects-and-solutions visual-studio-project find-all-references


【解决方案1】:
  1. 查找全部 (CTRL+SHIFT+F)
  2. “查找内容:”= 参考。*ReplaceThisTextWithProjectName
  3. 在“查找选项”部分选中“使用:”->“正则表达式”
  4. “看看这些文件类型:” = “*.*proj*”
  5. “查找范围:” = 选择驱动器上的目录/文件夹。不要使用“整个解决方案”,它不会访问项目文件本身。 (别忘了勾选“包括子文件夹”)

【讨论】:

  • 我已编辑搜索条件以包括以下内容:5。 “查找:” = 选择驱动器上的目录/文件夹。不要使用“整个解决方案”,它不会访问项目文件本身。
  • 优秀.. 非常有帮助.. :)
【解决方案2】:

不确定您是否考虑过使用 Resharper(不是免费的),但它很容易让您右键单击项目以查看相关代码。

在我看来,我不能没有并且非常值得付出代价 - 但它并不适合所有人。

http://www.jetbrains.com/resharper/webhelp/Navigation_and_Search__Finding_Usages__Finding_Dependencies_and_Referenced_Code.html

如果您想试用,可以试用 30 天 - PS 我不为他们工作,只是一个工具爱好者! :)

http://www.jetbrains.com/resharper/

【讨论】:

  • 我不认为这符合操作的要求。它只搜索在当前解决方案中引用项目的事物......而不是外部解决方案。
  • 链接失效
【解决方案3】:

右键单击项目 => 项目依赖项。 然后在下拉框中选择您的项目。 下面所有灰色的项目取决于所选项目。 (它们是灰色的,因此您无法通过检查它们来创建循环依赖项。)

【讨论】:

    【解决方案4】:

    在 Notepad++ 等编辑器中搜索所有项目文件

    与 fenone 的答案类似的方法是转到 Windows 中的解决方案文件夹,并通过 Windows 搜索简单地过滤 *.*proj 那里。这将为您提供所有项目文件(或者您可能在不同的文件夹中有一些,它们可以稍后添加)。只需选择所有这些文件并在 Notepad++ 等编辑器中打开。您可以根据需要将其他项目添加到您的 Notepad++ 实例中。一旦您在那里打开了所有项目文件,就可以轻松搜索对项目、.dll、库等的引用。我更喜欢这种方法,因为项目文件在他们自己的编辑器中是关闭的,而且我认为它们更容易搜索。

    卸载项目并重新编译

    第二种方法是在 Visual Studio 的解决方案资源管理器中右键单击您的项目,然后单击“卸载项目”,然后分析或重新编译解决方案。任何在代码中实际引用已卸载项目的项目都会出现错误,但您的构建仍然会成功,并且您的项目级引用仍将显示为有效(至少它们在 VS 2017 中对我而言)。一种类似的更具侵入性的方法是使项目级引用无效并且实际上使任何引用构建失败,这将是更改项目文件夹的路径,以便 Visual Studios 找不到它。这会产生次要影响,即通过路径而不是项目来识别任何引用设置。

    其他注意事项

    当然,您的项目可以包含在其他解决方案中,因此可以跨解决方案使用类似的搜索技术。只是为了涵盖您的基础,可能会通过路径而不是项目来引用您的编译文件,这只是需要注意的事情。检查您的构建后事件,以确保没有任何内容被复制和引用到意外的地方。搜索 .dll 的所有实例或在某个合理的文件夹范围内的任何内容,以了解任何副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      相关资源
      最近更新 更多