2010-04-02 32 views
2

我試圖確定應用程序系統中的其他程序集正在使用基本框架程序集中的哪些類型或方法。我似乎無法找到一個直截了當的查詢來做到這一點。NDepend其他程序集/類型正在使用的框架程序集中的查詢方法/類型

什麼,我要做的就是首先確定哪個組件直接使用該框架的裝配,然後手動將其列在第二查詢

SELECT TYPES FROM ASSEMBLIES "IBM.Data.DB2" 
WHERE IsDirectlyUsedBy "ASSEMBLY:FirstDirectUsedByAssebmly" 
OR IsDirectlyUsedBy "ASSEMBLY:SecondDirectUsedByAssebmly" 
OR IsDirectlyUsedBy "ASSEMBLY:ThirdDirectUsedByAssebmly" 
OR IsDirectlyUsedBy "ASSEMBLY:FourthDirectUsedByAssebmly" 

是否有查詢這更好/更快的方法?

此外,查詢結果僅着重於匹配的類型。導出的依賴關係圖或矩陣僅顯示這些的詳細信息。我不知道如何渲染一個顯示這些類型或方法的圖形顯示消耗它們的其他程序集的相關類型/方法?

UPDATE

因爲返回結果使用的IBM.Data.DB2組件中的模糊類型的非常奇怪的結果,我不能使用查詢像

SELECT METHODS/TYPES WHERE IsPublic AND !CouldBeInternal 

SELECT TYPES 
FROM ASSEMBLIES "IBM.Data.DB2" 
WHERE IsPublic AND !CouldBeInternal 


48 items 

--------------------------------------------------+--------------+ 
types            |# IL instructi| 
                |ons   | 
--------------------------------------------------+--------------+ 
IBM.Data.DB2.ae+m         |0    | 
                |    | 
IBM.Data.DB2.ae+x         |0    | 
                |    | 
IBM.Data.DB2.ae+f         |0    | 
                |    | 
IBM.Data.DB2.ae+ac        |0    | 
                |    | 
IBM.Data.DB2.ae+aa        |0    | 
                |    | 
IBM.Data.DB2.ae+u         |0    | 
                |    | 
IBM.Data.DB2.ae+z         |0    | 
                |    | 
IBM.Data.DB2.ae+e         |0    | 
                |    | 
IBM.Data.DB2.ae+b         |0    | 
                |    | 
IBM.Data.DB2.ae+g         |0    | 
                |    | 
IBM.Data.DB2.ae+ab        |0    | 
                |    | 
IBM.Data.DB2.ae+h         |0    | 
                |    | 
IBM.Data.DB2.ae+r         |0    | 
                |    | 
IBM.Data.DB2.ae+p         |0    | 
                |    | 
IBM.Data.DB2.ae+ad        |0    | 
                |    | 
IBM.Data.DB2.ae+i         |0    | 
                |    | 
IBM.Data.DB2.ae+j         |0    | 
                |    | 
IBM.Data.DB2.ae+t         |0    | 
                |    | 
IBM.Data.DB2.ae+af        |0    | 
                |    | 
IBM.Data.DB2.ae+k         |0    | 
                |    | 
IBM.Data.DB2.ae+l         |0    | 
                |    | 
IBM.Data.DB2.ae+y         |0    | 
                |    | 
IBM.Data.DB2.ae+a         |0    | 
                |    | 
IBM.Data.DB2.ae+q         |0    | 
                |    | 
IBM.Data.DB2.ae+n         |0    | 
                |    | 
IBM.Data.DB2.ae+d         |0    | 
                |    | 
IBM.Data.DB2.ae+c         |0    | 
                |    | 
IBM.Data.DB2.ae+ae        |0    | 
                |    | 
IBM.Data.DB2.ae+o         |0    | 
                |    | 
IBM.Data.DB2.ae+w         |0    | 
                |    | 
IBM.Data.DB2.ae+s         |0    | 
                |    | 
IBM.Data.DB2.ae+v         |0    | 
                |    | 
IBM.Data.DB2.DB2Command       |2 527   | 
                |    | 
IBM.Data.DB2.DB2Connection      |3 246   | 
                |    | 
IBM.Data.DB2.DB2DataAdapter      |520   | 
                |    | 
IBM.Data.DB2.DB2DataReader      |4 220   | 
                |    | 
IBM.Data.DB2.DB2_UDF_PLATFORM      |0    | 
                |    | 
IBM.Data.DB2.DB2Enumerator+DB2EnumInstance  |19   | 
                |    | 
IBM.Data.DB2.DB2Enumerator+DB2EnumDatabase  |15   | 
                |    | 
IBM.Data.DB2.DB2Error        |98   | 
                |    | 
IBM.Data.DB2.DB2ErrorCollection     |55   | 
                |    | 
IBM.Data.DB2.DB2Exception       |185   | 
                |    | 
IBM.Data.DB2.DB2Parameter       |1 853   | 
                |    | 
IBM.Data.DB2.DB2ParameterCollection    |1 383   | 
                |    | 
IBM.Data.DB2.DB2RowUpdatedEventHandler   |0    | 
                |    | 
IBM.Data.DB2.DB2RowUpdatedEventArgs    |14   | 
                |    | 
IBM.Data.DB2.DB2Type        |0    | 
                |    | 
IBM.Data.DB2.DB2XmlReader       |500   | 
                |    | 
--------------------------------------------------+--------------+ 
Sum:            |14 635  | 
                |    | 
Average:           |304.9   | 
                |    | 
Minimum:           |0    | 
                |    | 
Maximum:           |4 220   | 
                |    | 
Standard deviation:        |868.22  | 
                |    | 
Variance:           |753 808  | 
                |    | 
--------------------------------------------------+--------------+ 

我們的代碼不直接使用這些類型和枚舉。

回答

0

該查詢返回方法(分別爲類型),這些方法是公共的,不能是內部的。因此,它返回在其聲明程序集之外確實使用的方法/類型。

SELECT METHODS/TYPES WHERE IsPublic AND !CouldBeInternal 
+0

我已經看到過這個查詢,並且我已經更新了我的問題來解釋爲什麼它不能按預期工作。 – icelava 2010-04-12 06:25:19

相關問題