即使我们在C#Project

时间:2015-10-06 12:37:14

标签: c# sonarqube fxcop sonarqube-5.0

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

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

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

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

执行命令:C:/ Program Files(x86)/ Microsoft Visual Studio 12.0 /团队工具/静态分析工具/ 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 :无 / forceoutput / searchgac

即使我已将CustomDictionary.xml放在C#项目目录中。 声纳无法避免规则CA1704报告的违规行为;即使CustomDictionary.xml存在于项目目录下。默认情况下(指上面的日志),fxcop声纳分析采用FxCop安装目录中的默认CustomDictionary.xml(这里)在本例中 C:/ Program Files(x86)/ Microsoft Visual Studio 12.0 /团队工具/静态分析工具/ FxCop / )。

我已经对C#项目进行了分析,其中包括声纳 - 跑步者2.3& 2.4版本。

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

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

谢谢你,Dhruva

1 个答案:

答案 0 :(得分:1)

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

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