VS 2017 - предупреждения DotNetAnalyzers отображаются в выходных данных сборки, но не в анализе кода

Я вижу следующее в VS 2017 Enterprise на csproj, Project1, который создается на .Net 4.5.2:

18>------ Rebuild All started: Project: Project1, Configuration: Debug Any CPU ------
18>C:\git\27844-2-StyleCop\company\Class1.cs(26,31,26,47): warning CS0169: The field 'Class1.field' is never used
18>C:\git\27844-2-StyleCop\company\Class2.cs(31,48,31,69): warning SA1214: Readonly fields must appear before non-readonly fields
18>C:\git\27844-2-StyleCop\company\Interface1.cs(9,45,9,69): warning SA1127: Generic type constraints must be on their own line
18>  Project1 -> C:\git\27844-2-StyleCop\company\Project1\Project1\bin\Debug\Project1.dll
18>  Running Code Analysis...
18>  Code Analysis Complete -- 0 error(s), 0 warning(s)

Ясно, что есть 3 предупреждения, которые были обнаружены комбинацией встроенных C # DotNetAnalyzers и версии 1.0.2 StyleCop.Analyzers. Мне интересно, почему:

18> Code Analysis Complete - 0 error(s), 0 warning(s)

раздела нет:

18> Code Analysis Complete - 0 error(s), 3 warning(s)

и почему ни одно из этих предупреждений (или ошибок, если на то пошло, как я видел, что это происходит с правилами, рассматриваемыми как ошибки) не появляется в файле журнала анализа кода Project1.dll.CodeAnalysisLog.xml

Я пробовал:

  • Выключение / включение Enable Code Analysis on Build в свойствах проекта
  • Выключение / включение Treat Warnings as Errors в свойствах проекта
  • Убедитесь, что в свойствах проекта нет Suppress warnings
  • Убедитесь, что набор правил, который я использую, работает на конфигурации / платформе, на которой я работаю
  • Очистка / Восстановление
  • Явный запуск анализа кода в проекте

Я делаю что-то неправильно?


person Jesse    schedule 13.10.2017    source источник


Ответы (1)


Сборка и анализ кода - это отдельные шаги.

Анализаторы StyleCop не запускаются на этапе анализа кода (согласно https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/2456).

person mjwills    schedule 20.10.2017
comment
Это правильный ответ. Хотя я надеялся, что смогу увидеть это в результатах сборки, теперь становится понятнее, почему я не могу этого сделать. Спасибо! - person Jesse; 25.10.2017