Visual Studio 签入策略与 .NET 分析器相结合

问题描述

我们之前使用过 FxCop 代码分析器和 TFS 签入策略。 我可以找到将代码分析迁移到 .Net Analyzer 的文章。 我更改了一个项目,删除不推荐使用的 FxCop 后,代码分析似乎有效。

但我找不到任何有关更改签入策略以与新的 .NET 分析器匹配的信息。有人知道有关此主题的信息吗?

.csproj 真的

<AnalysisLevel>none</AnalysisLevel>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>false</RunCodeAnalysis>

.NetAnalyzers 似乎使用无法在签入策略中配置的“分析级别”,而不是规则集。

VS Project Settings and Source Control Settings

Build 运行良好,没有错误,由于代码分析,我们收到警告。我们尝试在项目中为 MinimumRecommendedRules.ruleset 添加代码规则集,但是当我们签入时得到:

评估代码分析时发生意外错误 入住政策。该错误可能是暂时的。再试一次。

解决方法

显然,不可能同时使用这两种功能。

Check-In-Policy 检查(除其他外)<RunCodeAnalysis>-msbuild 设置是否设置为 true。

enter image description here

无论如何,此设置会强制运行旧版二进制分析。

参考(来自Microsoft Docs):

RunCodeAnalysis msbuild 项目属性是否运行分析器? 否。项目文件中的 RunCodeAnalysis 属性(例如, .csproj) 仅用于执行旧版 FxCop。它运行后构建 调用 FxCopCmd.exe 的 msbuild 任务。

我认为不再需要单独的签入策略,因为 .NET 分析器在每个(版本,取决于您的配置)构建上运行。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...