Я думаю, что не очень хорошо объяснил вопрос, но я понимаю вашу точку зрения.У меня есть 3 разные сборки, и для определенных вызовов методов из одной сборки в другую необходимо убедиться, что вызывается конструктор эталонных тестов.Класс теста находится в 4-й сборке.Теперь моя проблема заключалась в том, что только VS2010 загружает только одну целевую сборку для анализа, и когда я использовал CallGraph для создания списка методов, вызывающих constructur, он не нашел ни одного.При ручном вызове FxCopCmd.exe я мог просто вручную добавить зависимые сборки с параметром / file :.
Мое решение состоит в том, чтобы загрузить различные сборки вручную (не полагаясь на загруженную сборку в RuleUtilities.AnalysisAssemblies и составить список вызывающих в методе BeforeAnalysis.
RuleUtilities.GetAssembly(
RuleUtilities.AnalysisAssemblies
.First().Directory + "\\" + additionalAssemblyFilename)
.Types.SelectMany(type => type.Members)
.Where(member => member.IsPublic)
.Where(CanBeCastedToMethod)
.Cast<Method>()
.SelectMany(CallGraph.CallersFor);
При таком подходеможет составить список абонентов для каждой сборки и для конструктора класса производительности. Отлично работает в VS2010.