Включение анализа кода Microsoft в проектах .NET Core

Наша команда использует функцию анализа кода с помощью специального набора правил, чтобы наша сборка завершилась неудачей, если мы забываем делать такие вещи, как нулевые проверки аргументов метода.

Однако теперь, когда мы создаем новый проект .NET Core, это не похоже на то, что Code Analysis - это особенность этих новых проектов. В области свойств проекта нет пользовательского интерфейса, и добавление настраиваемого набора правил в проект как рекомендуется здесь, только влияет на анализаторы StyleCop (правила SAxxxx),.

Есть ли способ включить правила Code Analysis (CAxxxx) в проекте .NET Core?

Ответ 1

Update

По-видимому, правильный способ сделать это - установить пакет Microsoft.CodeAnalysis.FxCopAnalyzers NuGet. Это отлично работает даже в проектах ASP.NET Core и вообще не требует флага <RunCodeAnalysis>.

Оригинальный ответ

Я понял, что есть еще один тег в файле csproj, который фактически позволяет анализировать код. Тег <PropertyGroup> в моем файле .csproj теперь выглядит следующим образом:

  <PropertyGroup>
    <TargetFramework>netstandard1.4</TargetFramework>
    <CodeAnalysisRuleSet>..\MyCompanyCodeAnalysisRules.ruleset</CodeAnalysisRuleSet>
    <RunCodeAnalysis>true</RunCodeAnalysis>
  </PropertyGroup>

И он отлично работает, по крайней мере, на обычных проектах. В проекте ASP.NET Core возникают следующие ошибки:

CA0055 : Could not identify platform for 'C:\Source\...\bin\Debug\netcoreapp1.1\....dll'.
CA0052 : No targets were selected.