FxCop VS2013 Кто-нибудь знает, что такое идентификатор предупреждения?

При обновлении с VS2010 до VS2013 мы начали получать эту ошибку при запуске статического анализа:

«CA0001 Ошибка при выполнении анализа кода CA0001: класс, реализующий несколько правил, должен явно указывать идентификатор предупреждения»

Я потратил несколько часов на изучение, но не нашел ничего о том, что означает эта ошибка или как ее исправить.

CA0001 - это обычная ошибка, правило которой FxCop не устраивает, но что такое «идентификатор предупреждения»? И почему это проблема VS2013, но не VS2010?


person Doug Boone    schedule 03.01.2014    source источник
comment
Используете ли вы какие-либо собственные или сторонние правила, основанные на движке правил Phoenix?   -  person Nicole Calinoiu    schedule 06.01.2014
comment
Неа. У нас есть правила в отношении наших стандартов рекурсии и запрета отправки личной информации по сети.   -  person Doug Boone    schedule 16.01.2014


Ответы (1)


Я обнаружил, что если я перемещу ссылку FxCop (Code Analysis) .targets ПЕРЕД ссылкой на Microsoft.CSharp.targets, то это решит проблему для меня.

И пока мы обсуждаем эту тему, очевидно, файл StyleCop .targets необходимо загрузить ПОСЛЕ Microsoft.CSharp.targets, чтобы правила StyleCop выполнялись во время сборки.

Пример:

<Import Project="$(SolutionDir)\..\msbuild\CodeAnalysis\Microsoft.CodeAnalysis.Targets" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\..\msbuild\StyleCop v4.7\StyleCop.targets" />
person Anton Georgiev    schedule 12.02.2015