Когда я использую файл Directory.Build.props
для определения StyleCop анализатора и настраиваемого глобального набора правил для него, эти вторые не учитываются.Я имею в виду stylecop.json
, определенный в Directory.Build.props
, работает глобально, но loans.ruleset
не работает вообще.
Все это я попробовал в отношении этого репо .
Когда я устанавливаю StyleCop.Analyzers
пакет в один проект и включаю loans.ruleset
, он отлично работает для проекта WebAPI (это можетбыть точно отражено коммитами cd1b1f2 и 53b4a4c ).Тогда я попытался переместить их в глобальный режим ff8b017 .В результате работает StyleCop, но набор правил для него отсутствует.
Ниже приведен обзор:
Directory: C:\Repos\LoansManagerRestApi
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 03.06.2019 08:50 LoansManager
d----- 03.06.2019 08:48 LoansManager.DAL
d----- 03.06.2019 08:48 LoansManager.Domain
d----- 03.06.2019 08:48 LoansManager.E2ETest
d----- 03.06.2019 08:48 LoansManager.Services
d----- 03.06.2019 08:48 LoansManager.UnitTest
d----- 03.06.2019 08:48 LoansManager.Util
-a---- 02.06.2019 21:07 5912 .gitignore
-a---- 03.06.2019 08:49 271 .stylecop.json
-a---- 03.06.2019 08:57 338 Directory.Build.props
-a---- 03.06.2019 08:51 348 loans.ruleset
-a---- 02.06.2019 21:40 4208 LoansManager.sln
-a---- 02.06.2019 21:07 1360 README.md
Directory.Build.props:
<Project>
<PropertyGroup>
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)loans.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="StyleCop.Analyzers" Version="1.1.118" />
<AdditionalFiles Include="$(MSBuildThisFileDirectory).stylecop.json" />
</ItemGroup>
</Project>
loan.ruleset:
<RuleSet Name="StyleCopRules" Description="These rules configure StyleCop." ToolsVersion="1.0">
<Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
<Rule Id="SA1101" Action="None" />
<Rule Id="SA1633" Action="None" />
<Rule Id="SA1600" Action="None" />
<Rule Id="SA1615" Action="None" />
</Rules>
</RuleSet>
Подводя итог, мне нужна помощь, чтобы правила stylecop.json
и loans.ruleset
применялись к решению глобально с использованием файла Directory.Build.props
, чтобы не настраивать его для каждого проекта в отдельности.