我需要找到「System.Web.UI.Page」,它引用從頁派生另一個類派生的所有類...一切我嘗試在NDepend中,不會給我任何東西或每頁。檢測Asp.Net頁面引用其他頁面(使用NDepend的?FxCop的?)
最近我們轉換一個Asp.Net「網站」的「Web應用程序」,並在這個過程中發現了大量的頁面有相同的類名在我們的數據庫層類。它們位於不同的名稱空間中,但由於所有頁面都位於同一個名稱空間中(現在,它們位於同一個程序集中),所以我們遇到了一些問題。
大多數情況下,當頁面使用數據層類並訪問其成員時,導致編譯錯誤,但現在所有頁面都位於Web應用程序中(因此可以互相看到),編譯器決定了它們引用了網頁類而不是數據層類。我們擔心有些類可能會在編譯時崩潰,可能會實現一個名稱相同的成員,所以我們希望找到.Net認爲某個網頁(一個繼承(但遠程)來自System.Web.UI.Page)具有對另一個網頁的引用。
顯然,這NDepend的CQL剛剛返回所有網頁:
SELECT TYPES FROM ASSEMBLIES "UI"
WHERE IsUsing "System.Web.UI.Page"
AND DeriveFrom "System.Web.UI.Page"
有誰知道這是可能的,或者我可以寫使用的FxCop或別的什麼規則?
這看起來不錯 - 要去嘗試它(這是,其實只是一次性的,我需要)。 – Jaykul 2012-02-15 20:05:08
工作過,謝謝! – Jaykul 2012-02-15 22:56:09