我有一个c#解决方案,它遵循stylecop.json
和GlobalSuppresions.cs
中指定的自定义StyleCop规则。两者都位于解决方案的根目录中,并通过它们的.csproj
文件链接了每个项目。
我建立了一个Azure DevOps管道来构建整个解决方案,并使用运行器在其上运行StyleCop。但是,尽管我们的stylecop.json
设置受到跑步者的尊重,但GlobalSuppresions.cs
却没有。在运行器中,有一个选项可以指定设置文件的路径,但不能为GlobalSuppresions.cs
指定路径。
问题是:有没有办法让跑步者理解GlobalSuppressions.cs
?还是有一种方法可以将我们的规则合并到stylecop.json
中?
答案 0 :(得分:0)
所以...自从我写了问题,我已经学到了两件事。
在较新版本的Visual Studio中,应该使用“ Roslyn Analyzers”。尽管stylecop analyzers nuget package坚持使用GlobalSuppressions.cs
,并在通过代码修补程序请求时自动创建此类文件,但不建议这样做。改为rulesets should be used。规则集与新版本和旧版本中的stylecop设置文件不同。新版本是.json版本。
规则集是编译器直接理解的,因此不再需要Azure DevOps build task that we were using。我只是创建了一个与GlobalSuppressions.cs
中的规则集匹配的规则集,并开始将其用于开发。对于我们的发布配置(这是我们在Azure DevOps上使用的配置),我创建了规则集的副本,但是我们将所有使用的规则设置为 Error 而不是 Warning 。 / p>