Visual NDepend で CQL クエリを記述して、名前空間のリストから任意の型に直接依存しないすべての型とメソッドを見つけようとしています。
これまでに作成したクエリは次のとおりです。
SELECT METHODS
WHERE
!IsDirectlyUsing "NAMESPACE:Microsoft.*"
AND !IsDirectlyUsing "NAMESPACE:System.Web.UI.*"
AND !FullNameLike ".Test"
AND !HasAttribute "System.CodeDom.Compiler.GeneratedCodeAttribute"
AND FullNameLike "OurOwnNameSpaceHere"
しかし、これでも SPWeb をパラメーターとして受け入れるメソッドが返されるため、何か不足しているに違いありません。
だから私はしたい:
Microsoft.* 名前空間内にある参照アセンブリ内の任意の型に依存するメソッドを除外します。
System.Web.Ui.* 名前空間内にある参照アセンブリ内の任意の型に依存するメソッドを除外します。
生成されたメソッド/タイプを除外する
名前空間に Test があるプロジェクトの一部であるメソッドを除外します。
失敗するサンプル メソッドは次のとおりです。
public void SomeMethod(SPWeb web)
{
... // other code here
SomeOtherMethod(web);
...
}