我的解决方案中的哪些项目正在使用某个项目的项目引用?

Which projects in my solution are using a project reference for a certain project?

在我的解决方案中,我有很多项目使用对解决方案中其他项目的项目引用。我如何确定哪些项目引用了特定项目?

如果您想找出哪些项目使用 Project A 作为项目参考,我找到的最简单的方法是:

  • Project A
  • 上执行“Clean
  • 卸载Project A
  • 重建解决方案

您可以通过检查此时无法成功构建的项目来确定哪些项目使用 Project A 作为项目引用。

Visual Studio 中的一项功能就是为此而存在的。右键单击您的解决方案,然后单击 "Project Dependencies"。 Select 您要在 "Projects:" 下拉列表中查找哪些其他项目依赖于它的项目。任何依赖于所选项目的项目都将取消选中并变灰 because checking them 会导致循环依赖。

使用Visual Studio中的代码图功能,它会显示项目之间的依赖关系。右键单击您的解决方案,在代码图上显示。

如果一个解决方案包含很多项目,并且某些项目引用了您解决方案中的其他项目,那么您可以通过检查特定项目下引用文件夹中的 dll 来确定项目依赖关系。

例如,

  • 假设我有一个名为 MyOwnProject 的解决方案。
  • 现在在 'MyOwnProject' 解决方案中有 3 个项目:
    1. A(主要启动项目)
    2. B(Class 图书馆)
    3. C(Class 图书馆)
  • 假设 A 是主启动 UI 项目,B 和 C 是 class 库项目。
  • 如果项目A调用了项目B中定义的一些函数,那么项目A需要在项目的引用文件夹中引用项目B。
  • 如果在构建解决方案时缺少引用,将显示指向未找到的函数或方法的错误,因为没有对项目 B 的引用,项目 A 无法使用任何函数或方法项目 B.
  • 通过阅读错误,您可以了解缺少的引用。

构建解决方案后,将 "Copy Local" 设置为 true 的参考文件夹中的所有 DLL 复制到项目配置的输出文件夹。

我知道的最好方法是使用...Notepad++ 的功能"Find in files"。

您只需在 "Find what:" 字段中输入要查找的项目名称,过滤“*.csproj”并在包含您的存储库的文件夹中搜索。

速度非常快,您不仅可以在一个解决方案中找到引用该项目的项目,还可以在同一文件夹中的其他解决方案中找到引用该项目的项目。