Visual Studio 与 .NET 分析器结合使用的签入策略

Visual Studio Check In Policy in combination with .NET analyzers

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

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

.csproj 真

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

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

构建工作正常,没有错误,我们收到了由于代码分析而产生的警告。我们试图在项目中为 MinimumRecommendedRules.ruleset 添加一个代码规则集,但是当我们签入时得到:

An unexpected error occurred while evaluating the Code Analysis check-in policy. The error might be transient. Try again.

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

签入策略检查(除其他事项外)<RunCodeAnalysis>-msbuild 设置是否设置为 true。

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

参考(来自Microsoft Docs):

Does the RunCodeAnalysis msbuild project property run analyzers? No. The RunCodeAnalysis property in a project file (for example, .csproj) is only used to execute legacy FxCop. It runs a post-build msbuild task that invokes FxCopCmd.exe.

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