2013-04-30 43 views
1

我在我的应用程序中使用第三方库。该图书馆可能有100多个课程。折射库组件

我需要知道在我的应用程序中使用了哪个库的所有类。

Eg : Classes in library : A, B, C, D ,E, F...... 

and my application uses only C and D 

所以我怎么知道我的应用程序使用C和D,只有这些类。

编辑:另外,如果可以列出应用程序中使用的这些类的属性。

+5

你看过NDepend吗? http://www.ndepend.com/ – 2013-04-30 11:56:02

+0

我看了NDepend的网站,发现它用于各种事情。更具体地说,你是否试图把我的注意力放在依赖矩阵上? – Lucky 2013-04-30 12:02:05

+0

如果C类在库内部依赖于B,那么是否要在列表中包含B? – 2013-04-30 12:03:28

回答

1

如果您有ReSharper,您可以右键单击解决方案资源管理器中的引用并选择“查找代码依赖于模块”。它将向您显示一个按您所依赖的类排序的列表,以便您可以快速查看该程序集中正在使用哪些类。

0

删除库引用,编译并查看所有错误。 (一种奇怪的方式,但作品)

+0

这是侵入性的,:),你需要添加参考来使程序工作? – David 2013-04-30 11:57:17

+0

首先它可能会导致许多*名称空间找不到*错误,这取决于项目大小,没有声明哪些类丢失......这个答案实际上并不有用,恕我直言。 – Carsten 2013-04-30 11:58:00

0

在文件(CTRL + SHIFT + F)中搜索库的名称,你应该能够看到这个库的使用,无论是通过反射或正常的对象初始化。

0

按照以下步骤 -

  1. 删除库参考,并尝试编译。
  2. 从错误标签中识别并列出显示为缺失引用的类
  3. 使用ILSpy(或任何熟悉的.NET程序集浏览器和反编译工具)添加第三方程序集进行分析。
  4. 步骤3中确定的类别,右击类左侧面板上单击右键菜单分析像下面的截图 -

enter image description here

通过使用此您可以进一步分析所有相关的类。

ILSpy download link