在构建期间查找规则集文件

Finding ruleset files during build

我正在用 Azure DevOps 替换我们的内部 TFS2012 服务器(并开始思考完全不同的构建内容),同时将每个人从 VS2013 升级到 VS2019。我想使用 "StyleCop.Analyzers" Roslyn 分析器,我知道它会在构建期间得到 运行,并在构建报告中输出任何警告。

我不确定将我们组织的 .ruleset 文件放在哪里,我想将其用于我们所有的解决方案。每个解决方案都有它的副本似乎很愚蠢,所以我想把它放在 TFS 项目的根目录(“$/foo/”),并配置所有解决方案的项目以使用这个文件(项目属性代码分析选项卡)。我假设路径将作为相对路径保存在项目文件中,但是构建将如何处理它,因为该文件不在正在构建的解决方案的文件夹层次结构中?我假设它不会出现。

或者我想我可以将规则集文件保存在某处的网络共享上。关于最佳方法的想法?

您可以将它添加到源代码管理中,如果您使用根 public 文件夹来存储规则集文件,您只需要确保 将其映射到构建代理 在每个构建管道期间。

在获取源代码步骤中包含映射后,即使构建不同的解决方案,它也会从服务器端下载文件以构建代理。

创建共享文件夹 也可以,如果可以从构建代理计算机访问的话。您还可以使用复制文件任务将文件复制到您在构建期间引用的路径。

关于构建代理如何处理代码分析规则集,请参考jessehouwing's在这个问题中的详细解释: