2010-08-25 169 views
8

我有一個相當複雜的應用程序,它已經被分成多個組件之間的依賴關係圖。每個組件都有一個包含一堆項目的解決方案文件。所以我喜歡把它看作一個組件有多個項目/ dll的組件。還有一個「共同」組件。所有其他組件都依賴於「通用」。所以編譯是這樣的: "nant component1.compile"將編譯「常用」,然後自COMPONENT1取決於「常用」編譯COMPONENT1。隨着時間的推移,「普通」變得相當大。我很確定它可以分成幾個較小的組件。那麼組件只需要依賴於這些較小的,分解的「普通」中的一些。這將有望減少不同組件的編譯時間。如何讓我的C#項目

所以問題: 我想要可視化應用程序中所有不同項目之間的依賴關係,同時也標記項目所屬的組件。你會如何做到這一點?

回答

1

NDepend提出加上一個依賴矩陣的依賴圖的工具。默認情況下,您將獲得.NET程序集的依賴關係圖,並且不僅限於只有一個VS解決方案的程序集。 NDepend的集成在VS 2017年,2015年,2013年,2012年,2010年和它可以顯示任何類型的圖形在您的代碼包括:組件之間

  • 依賴
  • 方法調用圖形,命名空間內的
  • 依賴一個VS項目,
  • 依賴關係的命名空間中的類型,
  • 類繼承圖,分量
  • 圖表表示類耦合之間2 210

等等

這一切說明here

NDepend code graph dependency diagram

NDepend的也提出了dependency structure matrix (DSM)和方式query dependencies with C# LINQ queries

1

我會嘗試將它導入到一個UML工具,它可以使模塊間的依賴關係圖我。

有市場,商業和開源的幾個。獲得爲您提供預算最大能力的產品。

+0

您是否建議手動將依賴項輸入到UML工具中?這是我寧願不做的一些手工工作。 – Rohith 2010-08-25 12:33:52

+0

如果工具將在導入時爲您生成依賴項,則不必生成依賴項。我無法說出每個工具的功能。 – duffymo 2010-08-25 13:06:06

0

今天上午理解有人建議我(:

http://www.scitools.com/

但老實說,我不能給出一個正確的報告就可以了,因爲這是對我來說太貴了......

0

如果您對裝配級別信息沒有問題,那麼您應該查看熱門工具ReflectorGraph加載項。它提供了彙編&類級別依賴關係圖。

0

看一看我的免費DSM插件.net反射下載從www.tom-carter.net

它可以讓你的依賴兩種不同的觀點:一個部署模型找到組件和一個建築模型之間的依賴關係,以顯示類型之間的依賴關係。

如果沒有視覺上提供您想要的信息,你可以保存模型XML和數據運行你自己的腳本。

相關性矩陣的優勢在於,它更容易分析的依賴視覺上比箱和線路圖

如果您需要更多的幫助,讓我現在

[更新]這個插件是現在提供一個Visual Studio的形式附加在

2

如果你有機會到Visual Studio 2010 終極,您可以選擇從Architecture菜單Generate Dependency Graph

上有MSDN穿行:How to: Generate Dependency Graphs for .NET Code

+0

看起來它在解決方案中執行依賴關係圖。就我而言,每個組件都由一個解決方案來表示。我想得到一個圖表,顯示哪個組件取決於另一個組件的哪個部分。因此,它是解決方案之間的依賴關係,但是具有特定依賴屬於哪個解決方案的標記。 – Rohith 2010-08-25 12:21:40

相關問題