C# CodeAnalysisRuleSet不能与Directory.Build.props一起使用

C# CodeAnalysisRuleSet不能与Directory.Build.props一起使用,c#,asp.net-core,stylecop,C#,Asp.net Core,Stylecop,当我使用Directory.Build.props文件来定义analyzer及其自定义全局规则集时,第二个规则集不会被考虑在内。我的意思是Directory.Build.props中定义的stylecop.json在全局范围内起作用,但是loans.ruleset通常不起作用 我所做的一切都是为了这个 当我将StyleCop.Analyzers包安装到单个项目中并包含loans.ruleset时,它对WebAPI项目非常有效(这可以通过提交和修改来精确反映)。 然后我试着把它们转移到全球工作。结

当我使用
Directory.Build.props
文件来定义analyzer及其自定义全局规则集时,第二个规则集不会被考虑在内。我的意思是
Directory.Build.props
中定义的
stylecop.json
在全局范围内起作用,但是
loans.ruleset
通常不起作用

我所做的一切都是为了这个

当我将
StyleCop.Analyzers
包安装到单个项目中并包含
loans.ruleset
时,它对WebAPI项目非常有效(这可以通过提交和修改来精确反映)。 然后我试着把它们转移到全球工作。结果是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>

$(MSBuildThisFileDirectory)loans.ruleset
loans.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
文件的解决方案,以避免为每个项目单独配置它。

导入包含stylecop分析器依赖项及其设置的内容(
stylecop.json
.ruleset
文件)使用简单的
目录.Build.props
文件:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>
    <PackageReference Include="loans.stylecop" Version="1.0.0" />
  </ItemGroup>

</Project>


即使在VS EE 2019 v16.1.1中,它也能在这个问题上正常工作,但它并不是完美的解决方法,因为每个规则更改都需要包项目版本控制、构建和发布,所以它仍然不能满足我的期望

它可以标记为已解决

问题是解决方案中的每个
*。csproj
文件都是由VS行xml属性组自动生成的:

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
    <CodeAnalysisRuleSet />
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <CodeAnalysisRuleSet />
  </PropertyGroup>


谁的阴影
Directory.Build.props

如何修复?