【问题标题】:The property "sonar.cs.fxcop.assembly" must be set and the project must have been built必须设置属性“sonar.cs.fxcop.assembly”并且必须已构建项目
【发布时间】:2016-01-01 16:29:28
【问题描述】:

我们正在使用 SonarQube 5.1最新的 MSBuild Sonar Runner C# 插件 4.2

在启用 FxCop 规则运行分析时,我们 原因:

java.lang.IllegalArgumentException: The property "sonar.cs.fxcop.assembly" must be set and the project must have been built to execute 
FxCop rules. This property can be automatically set by the Analysis Bootstrapper for Visual Studio Projects pl
ugin, see: http://docs.codehaus.org/x/TAA1Dg. If you wish to skip the analysis of not built projects, set the property 
"sonar.visualstudio.skipIfNotBuilt".

这是sonar.project.properties

# Project identification
sonar.projectKey=TestSonar  
sonar.projectVersion=1.0-SNAPSHOT
sonar.projectName=TestSonar


#Core C# Settings
sonar.silverlight.4.mscorlib.location=C:/Program Files (x86)/Reference Assemblies/Microsoft/Framework/Silverlight/v5.0

#UnitTests
sonar.cs.vstest.reportsPaths=TestSonar_UnitTests/*.trx

#CodeCoverage
#sonar.cs.vscoveragexml.reportsPaths = C:\Users\sabharadwaj\Documents\Visual Studio 2013\Projects\TestSonar\TestSonar_UnitTests\VS2013_TestSonar.coveragexml
sonar.cs.opencover.reportPaths=C:\Users\sabharadwaj\Documents\Visual Studio 2013\Projects\TestSonar\TestSonar_UnitTests\VS2013_TestSonar.coveragexml

#FxCop
sonar.cs.fxcop.assembly=C:\Users\sabharadwaj\Documents\Visual Studio 2013\Projects\TestSonar
sonar.cs.fxcop.fxCopCmdPath=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop\FxCopCmd.exe

【问题讨论】:

  • 阅读消息。您将 sonar.cs.fxcop.assembly 设置为什么? stackoverflow.com/questions/23822527/…
  • 已更新 sonar.project.properties 以显示 FxCop 路径。但有或没有 FxCop 属性我得到相同的错误...fx.cop 程序集设置为解决方案的路径
  • 抱歉,我错过了您定义了这些属性,因为它们看起来像 cmets。您的路径名中有空格,您是否尝试将它们括在引号中?你在使用 Visual Studio 引导程序吗? FxCop 是否实际安装在您的系统上?

标签: c# sonarqube sonarqube-msbuild-runner


【解决方案1】:

自 C# 插件版本 4.0 起,推荐且唯一支持的分析项目的方法是使用与 Microsoft 联合开发的 MSBuild SonarQube Runner。参见文档http://redirect.sonarsource.com/plugins/csharp.html

这种分析 C# 项目的新方法与 MSBuild 完全集成,并解决了许多集成问题,例如您目前面临的问题。

您尝试使用 sonar.visualstudio.enable 启用的适用于 Visual Studio 项目插件的分析引导程序插件(又名 Visual Studio 引导程序插件)已被弃用,并且可能未安装在您的 SonarQube 服务器上。如果它在那里,您将能够在迁移所有项目以使用 MSBuild SonarQube Runner 后安全地卸载它。您还可以删除已迁移项目的sonar-project.properties 文件。

【讨论】:

  • 我们实际上使用的是最新的 MSBuild SonarQube Runner.. 我已经编辑了我的声纳属性.. 仍然遇到同样的问题
  • 使用 MSBuild SonarQube Runner 时,拥有 sonar-project.properties 没有意义。能否提供分析日志?
  • 请注意,“MSBuild SonarQube Runner”不是 SonarQube 插件。它与 SonarQube C# 4.2 插件分开下载。
  • 谢谢 ..问题原来是我们通过 powershell 包装器执行 Runner。一旦我们使用正确的开关切换到命令提示符,它就起作用了..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-09
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
相关资源
最近更新 更多