【发布时间】: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