如何解决如何在.NET Core应用程序之间共享代码分析规则集?
我正在尝试在多个项目中共享规则集,无论我如何尝试,每个项目都在Dependencies> Analyzers中使用其自己的规则集。
我在解决方案的通用位置放置了一个规则集。然后,我编辑了每个项目文件以指向它:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<CodeAnalysisRuleSet>..\..\..\..\Solution Items\Shared.Minimum.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
我的项目似乎没有使用该规则集。如果我从项目的属性安装Microsoft.CodeAnalysis.FxCopAnalyzers,则将使用这些规则(它们位于Dependencies> Analyzers中)。如果我卸载Microsoft.CodeAnalysis.FxCopAnalyzers,则不会使用任何东西。
如何获取它,以便每个项目都使用共享规则集?是否为该项目安装Microsoft.CodeAnalysis.FxCopAnalyzers?我必须禁用“依赖关系”>“分析器”中的所有规则吗?我丢失了一些东西。
解决方法
如果我从项目的属性安装Microsoft.CodeAnalysis.FxCopAnalyzers,则将使用这些规则(它们位于Dependencies> Analyzers中)。如果我卸载Microsoft.CodeAnalysis.FxCopAnalyzers,则不会使用任何东西。
这就是FxCopAnalyzers的问题;他们注入自己的规则集,这些规则集可能会取代或干扰您自己的规则集。但是,可以手动禁用它们。
尝试这样的事情:
<PropertyGroup>
<CodeAnalysisRuleSet>$(SolutionDir)..\..\Code Analysis\<ruleset-name-here>.ruleset</CodeAnalysisRuleSet>
<CodeAnalysisIgnoreBuiltInRules>true</CodeAnalysisIgnoreBuiltInRules>
<CodeAnalysisIgnoreBuiltInRuleSets>true</CodeAnalysisIgnoreBuiltInRuleSets>
</PropertyGroup>
这将禁用内置规则集。这是我目前的雇主的标准做法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。