注:配置文件中的智能提示由"$schema"控制,并且可以在打开文件时通过右键菜单重新加载智能提示的schema。
4. 生成文件头信息:
5. 通过Nuget Package的形式重用ruleset文件和StyleCop.Json,更多信息查看文档: https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/Configuration.md 的Sharing configuration among solutions小节。
在.Net Core/.Net Standard项目中使用代码分析器 在.Net Core项目中使用代码分析器与.Net Framework项目中使用方法相似,但有一些不同的地方。
1. 首先同样需要对解决方案内的所有项目安装分析器:
安装后,出现的警告信息:
2. 修改规则集:
注:.Net Core项目没有“Open Active Rule Set”菜单,刚开始只能对特定分析器的特定规则设置严重性:
与此同时,当前项目生成一个以项目名称命名的ruleset文件:
双击打开该文件时可以使用规则编辑窗口即可对该规则集进行修改:
注:目前为止VS对.Net Core项目的代码分析支持有些细节尚未完善,本例使用VS17 15.7.3版本进行演示,一些版本相对较老的VS版本可能会出现无法创建ruleset文件(需手动根据项目名称创建):
或者编辑ruleset文件时无法显示规则内容等情况:
同时在编辑ruleset文件时,需要将Project选择All,才能看到所有的规则集。
3. 解决方案共享一个规则集:
注:VS对于.Net Core类型的项目,在查看其项目属性时,没有Code Analysis选项卡,所以如果要共享规则集,除了先将规则集移动到一个固定位置外,还需要手动在每一个项目文件中添加下面XML片段:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <CodeAnalysisRuleSet>..\RuleSets\My.ruleset</CodeAnalysisRuleSet> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <CodeAnalysisRuleSet>..\RuleSets\My.ruleset</CodeAnalysisRuleSet> </PropertyGroup>