【问题标题】:SonarQube FxCop Analysis (rule: CA1704) throws issues even though we define CustomDictionary.xml under C# Project即使我们在 C# 项目下定义 CustomDictionary.xml,SonarQube FxCop 分析(规则:CA1704)也会引发问题
【发布时间】:2016-01-03 09:11:40
【问题描述】:

当我为 C# 项目运行声纳分析时,声纳报告了几个问题:其中一个问题来自名为 CA1704:标识符应正确拼写的 fxcop 规则。由于我不希望声纳报告规则 CA1704 下的问题,我创建了一个 CustomDictionary.xml 并按照 “如何修复违规” 中为 fxcop 规则 提供的说明进行操作>CA1704.

P.S: 根据提供的修复规则 CA1704 违规的说明,我们可以将 CustomDictionary.xml 放置在任意 3 个位置,即 -

  • 将字典放在工具的安装目录中
  • 项目目录
  • 在配置文件下与工具关联的目录 用户(%USERPROFILE%\Application Data...)

我选择了第二个选项(上图),将 CustomDictionary.xml 放在 C# 项目目录中,并在调试模式下运行声纳分析。分析 sonar 的日志后,当 fxcop 开始对 C# 项目进行分析时 - 可以看到以下日志。

执行命令:C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/FxCopCmd.exe /file:D:\Installers\ Example_Projects\sonar-examples-master\projects\languages\csharp\ConsoleApplication1\bin\Debug\ConsoleApplication1.exe /ruleset:=D:\Installers\Example_Projects\sonar-examples-master\projects\languages \csharp.sonar\Sample_Test_Framework_ConsoleApplication1\fxcop-sonarqube.ruleset /out:D:\Installers\Example_Projects\sonar-examples-master\projects\languages\csharp.sonar\Sample_Test_Framework_ConsoleApplication1\fxcop-report.xml /outxsl:none /forceoutput /searchgac

即使我已将 CustomDictionary.xml 放在 C# 项目目录中。 Sonar 无法避免规则 CA1704 报告的违规行为;即使 CustomDictionary.xml 存在于项目目录下。 默认情况下(参考上面的日志),fxcop 声纳分析采用默认的 CustomDictionary.xml,它存在于 FxCop 的安装目录中(这里在这种情况下 C:/Program Files (x86)/Microsoft Visual Studio 12.0/Team Tools/Static Analysis Tools/FxCop/)。

我已经使用 sonar-runner 2.3 和 2.4 版本对 C# 项目进行了分析。

我们是否有可能将默认字典路径更改为存在 CustomDictionary.xml 的另一个路径?

是否有空间实现一个新的声纳参数,该参数采用 CustomDictionary.xml 所在的自定义路径?

谢谢你,德鲁瓦

【问题讨论】:

    标签: c# sonarqube fxcop sonarqube-5.0


    【解决方案1】:

    您可以将以下内容添加到您的 .csproj 以告诉 FxCop 使用哪个字典:

    <ItemGroup> <CodeAnalysisDictionary Include="MyCustomDictionary.xml" /> </ItemGroup>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-27
      • 2021-08-26
      • 1970-01-01
      • 2019-12-18
      • 2018-01-25
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      相关资源
      最近更新 更多