无法使用MSBuild SonarQube Runner执行FxCop规则

5
我们在使用SonarQube 5.1.1分析.NET项目时遇到了问题。
请注意,质量配置文件中启用了FxCop规则。
我们正在使用MSBuild SonarQube Runner来分析这些项目。但是我们遇到了错误,提示需要设置sonar.cs.fxcop.assembly。
我们曾经在sonar-runner-2.4中遇到过类似的问题,但当时可以通过sonar-project.properties文件传递此参数。
但由于sonar-runner不支持.NET项目,现在我们正在使用MSBuild SonarQube Runner。
请问如何避免在MSBuild SonarQube Runner上出现这些问题,并对.NET项目执行FxCop规则?
C#插件版本为4.1。
如果需要更多信息,请告知我们。
由于项目团队不希望在质量配置文件级别禁用FxCop规则,因此我们已将生产Sonar升级推迟。
请帮助我们解决这个问题。
谢谢, Sri Priyanka

1
我也遇到了使用MSBuild runner时完全相同的问题。我们目前仍在使用旧的Java runner(而这个“新”版本实际上只是生成它的副本!!)在运行分析时似乎可以工作。然而,我们正在遇到一个问题,即源代码未显示在错误旁边,因此我一直在尝试“推荐的分析方法”来查看是否可以解决该问题。 - caveman_dick
结果发现没有源代码的问题是由于elasticsearch索引引起的。只需删除它并重新启动服务器,源代码就会出现。但仍然存在fxCopAssembly问题!:( - caveman_dick
大家好,有人可以友好地更新一下这个问题吗? - sripriyanka
3
在每个模块的.csproj文件中添加以下部分后,该问题得以解决。 <ItemGroup> <SonarQubeSetting Include="sonar.cs.fxcop.assembly"> <Value>(dll文件的路径)</Value> </SonarQubeSetting> </ItemGroup> - sripriyanka
谢谢!你应该将这个作为下面的答案添加,然后我可以点赞。一旦你有足够的声望,你就能将其标记为答案并获得信用。 :) - caveman_dick
显示剩余2条评论
1个回答

0

我认为你应该阅读http://www.sonarqube.org/easy-analysis-of-visual-studio-solutions-with-the-sonarqube-scanner-for-msbuild/http://docs.sonarqube.org/display/PLUG/C%23+Plugin

请注意,您应该从“Visual Studio 2013或更高版本的开发人员命令提示符”(http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner+for+MSBuild)中运行命令。因为它们不设置正确的变量,所以既不是DOS命令提示符也不是Windows PowerShell工作。

FxCop本地支持并不意味着它随MSBuild SonarQube Runner一起提供,而是必须安装Visual Studio >= 2013。

此外,我发现不仅 sonar-project.properties 已经被弃用,而且你必须将其删除以避免出现奇怪的行为。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接