Как вы кодируете исключение AvoidCallingProblematicMethods, чтобы быть подобранным в FxCop? - PullRequest
1 голос
/ 11 января 2011

Я тестирую автоматизацию FxCop и хочу проверить, проверяет ли она определенные правила. Я хочу сделать DLL, которая вызовет ошибку AvoidCallingProblematicMethods в FxCop.

У меня есть следующий код, но он вообще не вызывает правило AvoidCallingProblematicMethods. что я делаю не так?

// use one of the listed unsafe methods to create a problematic method
// http://msdn.microsoft.com/en-us/library/bb385973.aspx for list of offending methods
GC.Collect();

как мне отключить это правило FxCop?

1 Ответ

3 голосов
/ 13 января 2011

Анализировали ли вы не с помощью анализа кода Visual Studio, а с помощью автономного FxCop?

Если это так, ваш код не проверяется, поскольку FxCop не поддерживает правило AvoidCallingProblematicMethods.

Точнее, FxCop не содержит правил надежности и ремонтопригодности.Правило AvoidCallingProblematicMethods классифицируется как правило надежности.

Вы можете увидеть таблицу сравнения правил анализа кода, поддерживаемых VS Code Analysis и FxCop, из здесь .

ОБНОВЛЕНИЕ

Как вы увидите в комментарии Педро, вы можете использовать это правило в FxCop, если копируете правила анализа кода VS2010 в каталог FxCop Rules.

  1. Резервное копирование сборок в каталоге правил FxCop (по умолчанию "% PROGRAMFILES% \ Microsoft FxCop 10.0 \ Rules").
  2. Копирование сборок в "% PROGRAMFILES% \ Microsoft Visual Studio 10.0 \"Инструменты группы \ Инструменты статического анализа \ FxCop \ Rules "в каталог FxCop Rules, кроме DataflowRules.dll (FxCop не может загрузить правила из DataflowRules.dll).
...