.NET プロジェクトで古い Sonar ランナーから新しい MsBuild Sonar ランナーに移行しようとしています。
私が抱えている最後の問題は、FxCop 分析を行うことです。Sonar の品質プロファイルに 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".
私はよくグーグルで検索し、同じ問題を抱えたかなり古いトピックをいくつか見つけましたが、解決策はどれもうまくいきませんでした.
パラメータを追加しようとしました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 分析を機能させるにはどうすればよいですか?
これらは私が実行しているコマンドです (ファイル名とパスを変更しました):
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.exe targets.msbuild ...
- ReSharper 分析:
inspectcode.exe /o=resharperresults.xml MySolution.sln
- ランナーエンド:
MSBuild.SonarQube.Runner.exe end