Я пытаюсь написать CQL-запрос в Visual NDepend, чтобы найти все типы и методы, которые напрямую не зависят от какого-либо типа, из списка пространств имен.
Запрос, который я создал до сих порэто:
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);
...
}