В настоящее время у меня нет доступа к NuGet, и мне нужно добавить анализатор Roslyn (StyleCop) в новый проект библиотеки классов .NET Standard. Какие ручные изменения файла (project.csproj, package.config) мне нужно сделать? У меня уже есть пакет nuget для StyleCop, который был загружен из библиотеки классов .NET Framework ранее.

0
Bondolin 21 Фев 2020 в 23:21

2 ответа

Лучший ответ

Посмотрел существующий проект библиотеки классов .NET Standard с установленным StyleCop. Вот соответствующие части файла проекта:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>netstandard1.4</TargetFramework>
    ...
  </PropertyGroup>

  ...

  <ItemGroup>
    <AdditionalFiles Include="stylecop.json" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="StyleCop.Analyzers" Version="1.1.118">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
    </PackageReference>
  </ItemGroup>

  ...

</Project>
0
Bondolin 21 Фев 2020 в 20:26

Если у вас уже есть пакет StyleCop в вашем кеше NuGet, то, что вы разместили в своем ответе, будет работать, и это будет работать, если вы очистите свой кеш при наличии доступа к NuGet.org.

Но если у вас есть библиотека анализатора, которой нет в пакете NuGet, который вы хотите использовать, вы можете явно добавить анализаторы:

<ItemGroup>
  <Analyzer Include="<path to analyzer dll" />
</ItemGroup>
1
Paulo Morgado 23 Фев 2020 в 19:00