我正在嘗試從舊的Sonar runner遷移到.NET項目中的新的MsBuild Sonar runner。如何使用新的MsBuild Sonar runner使用FxCop分析?
我最後的問題是做FxCop分析。如果聲納質量配置文件包含的任何的FxCop規則,我得到下面的生成錯誤:
ERROR: Caused by: 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 plugin, see: http://docs.codehaus.org/x/TAA1Dg.
If you wish to skip the analysis of not built projects, set the property "sonar.visualstudio.skipIfNotBuilt".
我GOOGLE了一番,發現一些比較老的話題同樣的問題,但沒有解決方案的工作。
我試圖添加sonar.visualstudio.enable="true"
參數,但後來我得到以下錯誤:
ERROR: Caused by: Do not use the Visual Studio bootstrapper and set the "sonar.modules" property at the same time.
也試圖添加/d:sonar.visualstudio.skipIfNotBuilt="true"
,但它並沒有幫助。
我在做什麼錯?如何參數化新的MsBuild聲納轉輪以使FxCop分析工作?
這些是我執行的命令(I修改的文件名的路徑):
1.聲納轉輪開始
MSBuild.SonarQube.Runner.exe begin /key:"MyProject" /name:"MyProject"
/version:"1" /d:sonar.host.url="http://mysonarhost/" /d:sonar.jdbc.dialect="mssql"
/d:sonar.jdbc.url="jdbc:jtds:sqlserver://mysonardb" /d:sonar.jdbc.username="sonar-user"
/d:sonar.jdbc.password="sonar-password" /d:sonar.resharper.cs.reportPath="../../../../resharperresults.xml"
/d:sonar.resharper.solutionFile="MySolution.sln"
/d:sonar.visualstudio.testProjectPattern=".*\.(UnitTests|IntegrationTests)"
/d:sonar.exclusions="obj/**" /d:sonar.dotnet.excludeGeneratedCode="true"
/d:sonar.cs.fxcop.fxCopCmdPath="..\Tools\FxCop.v12.0.21005.1\FxCopCmd.exe"
/d:sonar.visualstudio.solution="MySolution.sln" /d:sonar.dotnet.buildConfigurations="Release"
/d:sonar.language="cs" /d:sonar.sourceEncoding="UTF-8"
/d:sonar.cs.opencover.reportsPaths="..\CodeCoverage\MSTest.Coverage.MySolution.UnitTests.xml"
- 的MSBuild:
- ReSharper的分析:
- 轉輪端:
MSBuild.exe targets.msbuild ...
inspectcode.exe /o=resharperresults.xml MySolution.sln
MSBuild.SonarQube.Runner.exe end
或者與新的跑步者一樣,FxCop報告必須手動生成,類似於ReSharper報告? –
不,FxCop應該在MSBuild中強制執行 - 也就是說,除非您大量定製了.csproj和MSBuild文件 - 是這種情況嗎? –
您可以刪除未使用的屬性:sonar.cs.fxcop.fxCopCmdPath,sonar.visualstudio.solution,sonar.visualstudio.testProjectPattern –