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
如何修复?