该物业" sonar.cs.fxcop.assembly"必须设置并且项目必须已经构建

时间:2015-10-21 12:43:54

标签: c# sonarqube sonarqube-msbuild-runner

我们正在使用 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

1 个答案:

答案 0 :(得分:1)

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

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

您尝试使用sonar.visualstudio.enable启用的Visual Studio Projects Plugin(又称Visual Studio Bootstrapper插件)的Analysis Bootstrapper插件已被弃用,可能未安装在SonarQube服务器上。如果它存在,您可以在迁移所有项目后使用MSBuild SonarQube Runner安全地卸载它。您还可以删除已迁移项目的sonar-project.properties文件。