在Azure Pipeline中使用GlobalSuppressions.cs i StyleCop Runner

时间:2018-11-22 11:06:54

标签: c# azure azure-devops azure-pipelines stylecop

我有一个c#解决方案,它遵循stylecop.jsonGlobalSuppresions.cs中指定的自定义StyleCop规则。两者都位于解决方案的根目录中,并通过它们的.csproj文件链接了每个项目。

我建立了一个Azure DevOps管道来构建整个解决方案,并使用运行器在其上运行StyleCop。但是,尽管我们的stylecop.json设置受到跑步者的尊重,但GlobalSuppresions.cs却没有。在运行器中,有一个选项可以指定设置文件的路径,但不能为GlobalSuppresions.cs指定路径。

问题是:有没有办法让跑步者理解GlobalSuppressions.cs?还是有一种方法可以将我们的规则合并到stylecop.json中?

1 个答案:

答案 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>