Включить анализаторы кода в пакет nuget - PullRequest
0 голосов
/ 04 февраля 2020

В настоящее время у меня есть 25+ хранилищ для поддержки. Для всех этих репозиториев я хотел бы добавить Code Analysis с использованием анализаторов Roslyn.

Потому что я хочу контролировать анализаторы, которые используются из одного центрального местоположения. Моя идея состояла в том, чтобы создать пакет NuGet, который ссылается на все необходимые мне анализаторы. Однако, похоже, что это не работает.

Мой пакет NuGet теперь выглядит так:

  <ItemGroup>
    <PackageReference Include="SonarAnalyzer.CSharp" Version="8.3.0.14607">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
  </ItemGroup>

И на пакет nuget ссылаются так:

<PackageReference Include="NuGet.Package" Version="1.0.0" />

Анализатор SonarQube.CSharp не отображается в списке анализаторов в родительском проекте.

Должно ли это работать? И как я должен изменить это, чтобы сделать эту работу?

1 Ответ

0 голосов
/ 05 февраля 2020

Кажется, я нашел решение. Добавление ссылки на пакет в файл .props пакета NuGet заставит анализатор работать.

...