首页 > 解决方案 > 连接到 SonarQube 的 Visual Studio SonarLint 扩展正在生成警告 CA0507 和 CA0064,并且没有声纳 Sxxx 警告

问题描述

我为 Visual Studio 安装了 SonarLint 扩展并成功连接到我们的 SonarQube 服务器并成功运行代码分析以在 VS 中显示声纳问题。所以它工作正常,但由于某种原因,我现在不再收到任何声纳 Sxxx 警告,而是现在看到以下 2 个警告:

> Warning CA0507 Post-build Code Analysis (FxCopCmd.exe) has been
> deprecated in favor of FxCop analyzers, which run during build. Refer
> to https://aka.ms/fxcopanalyzers to migrate to FxCop analyzers.
> 
> Warning CA0064 : No analysis was performed because the
> specified rule set could not be loaded or did not contain any managed
> code analysis rules.

但我没有使用 FxCop,而且我不知道已经做过任何事情来打开它。

如果我检查“托管二进制分析”中的一条规则,CA0064 警告将消失,但 CA0507 仍然存在,并且仍然没有声纳 Sxxx 警告。

标签: sonarqubevisual-studio-2019fxcopsonarlint

解决方案


“运行代码分析”菜单项仅适用于旧版 FxCop 规则。对于基于 Roslyn 的分析器(如 SonarLint 中的 C# 和 VB.NET 规则),您不需要使用这些菜单项 - Visual Studio 将在后台自动触发分析。有关详细信息,请参阅Microsoft 文档

如果您没有看到报告的 Sxxx 问题,则需要注意以下几点:

  • 检查您是否选中了启用完整解决方案分析选项。如果没有,VS 只会报告打开文件中的问题。
  • 您已将解决方案连接到 SonarQube 服务器,因此 SonarLint 将根据质量配置文件生成规则集。规则集将位于解决方案级.sonarlint文件夹中。检查您希望报告问题的规则是否在规则集文件中启用。如果没有,请更新服务器上的质量配置文件,然后关闭并重新打开解决方案。SonarLint 将检测到质量配置文件已更改并提示您更新它。

推荐阅读