2013-04-30 12 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