ページから派生した別のクラスを参照する "System.Web.UI.Page"から派生したすべてのクラスを見つける必要があります。 NDependで私に何も、またはすべてのページを与えます。他のページを参照するAsp.Netページを検出する(NDepend?FXCopを使用)
最近、Asp.Netの「サイト」を「Webアプリケーション」に変換しました。その過程で、多くのページがデータベースレイヤのクラスと同じクラス名を持つことがわかりました。それらは異なる名前空間にありますが、すべてのページが同じ名前空間にあり(今は同じアセンブリ内にあります)、いくつかの問題があります。
ほとんどの場合、ページがデータレイヤークラスを使用してそのメンバーにアクセスしたときにコンパイルエラーが発生しましたが、すべてのページがWebアプリケーション内にあり(コンパイル時には)データ層クラスではなくウェブページクラスを参照していました。私たちは、おそらく同じ名前のメンバーを実装することによって、コンパイル時のクラッシュを過ぎてしまったクラスがあるかもしれないことを心配しています。つまり、.NetがWebページ(ただし遠くに継承するクラス) System.Web.UI.Pageから)は、別のWebページへの参照を持っています。
明らかにこれNDependのCQLは、ちょうどすべてのページを返します。
SELECT TYPES FROM ASSEMBLIES "UI"
WHERE IsUsing "System.Web.UI.Page"
AND DeriveFrom "System.Web.UI.Page"
私はFxCopのか、何か他のものを使用してルールを記述することができれば誰でもこれが可能かどうかを知り、またはしていますか?
です。これは試してみるといいでしょう(実際には、私が必要とする単なるものです)。 – Jaykul
トリックに感謝しました! – Jaykul