私は C# プロジェクト (プラグインは C# Core と C# FX Cop のみ) で Sonar 3.2 を試し、Simple Java Runner を使用しています。
1 つのプロジェクトのソリューションでは問題なく動作しましたが、2 つのプロジェクトのソリューションを使用して分析しようとすると、常に次のエラーが発生します。
17:01:41.775 INFO .sbbProjectModule - ------------- Project1 を分析中 17:01:42.055 INFO .sbProfileProvider - 選択された品質プロファイル: [名前 = カスタム C#、言語 = cs] 17:01:42.075 INFO nPluginsConfigurator - Maven プラグインの構成... 17:01:42.125 INFO org.sonar.INFO - 以前の分析との比較 17:01:42.155 INFO org.sonar.INFO - 5 日間の比較 (2012-09-27) 17:01:42.175 INFO org.sonar.INFO - 30 日間の比較 (2012-09-02) 17:01:42.215 情報 .bpSensorsExecutor - 初期化子 ProjectFileSystemLogger... 17:01:42.215 INFO jectFileSystemLogger - ソース ディレクトリ: 17:01:42.215 INFO jectFileSystemLogger - $(ソリューション フォルダー)\Project1 17:01:42.215 INFO .bpSensorsExecutor - 初期化子 ProjectFileSystemLogger が完了しました: 0 ミリ秒 17:01:42.225 情報 .bpSensorsExecutor - 初期化子 CSharpProjectInitializer... 17:01:42.225 INFO .bpSensorsExecutor - 初期化子 CSharpProjectInitializer が完了しました: 0 ミリ秒 17:01:42.255 INFO ospcpd.CpdSensor - 重複コードの検出は C# ではサポートされていません。 合計時間: 8.442 秒 最終記憶: 5M/118M スレッド「メイン」org.sonar.runner.RunnerException の例外: java.lang.NullPointerException org.sonar.runner.Runner.delegateExecution (Runner.java:288) で org.sonar.runner.Runner.execute (Runner.java:151) で org.sonar.runner.Main.execute (Main.java:84) で org.sonar.runner.Main.main (Main.java:56) で 原因: java.lang.NullPointerException org.sonar.plugins.csharp.api.sensor.AbstractRegularCSharpSensor.assembliesFound (AbstractRegularCSharpSensor.java:101) で org.sonar.plugins.csharp.api.sensor.AbstractRegularCSharpSensor.shouldExecuteOnProject (AbstractRegularCSharpSensor.java:81) で org.sonar.plugins.csharp.api.sensor.AbstractRuleBasedCSharpSensor.shouldExecuteOnProject (AbstractRuleBasedCSharpSensor.java:48) で org.sonar.api.batch.BatchExtensionDictionnary.shouldKeep (BatchExtensionDictionnary.java:109) で org.sonar.api.batch.BatchExtensionDictionnary.getFilteredExtensions (BatchExtensionDictionnary.java:99) で org.sonar.api.batch.BatchExtensionDictionnary.select (BatchExtensionDictionnary.java:57) で org.sonar.batch.phases.SensorsExecutor.execute (SensorsExecutor.java:57) で org.sonar.batch.phases.Phases.execute (Phases.java:93) で org.sonar.batch.bootstrap.ProjectModule.doStart (ProjectModule.java:139) で org.sonar.batch.bootstrap.Module.start (Module.java:83) で org.sonar.batch.bootstrap.BatchModule.analyze (BatchModule.java:131) で org.sonar.batch.bootstrap.BatchModule.analyze (BatchModule.java:126) で org.sonar.batch.bootstrap.BatchModule.doStart (BatchModule.java:121) で org.sonar.batch.bootstrap.Module.start (Module.java:83) で org.sonar.batch.bootstrap.BootstrapModule.doStart (BootstrapModule.java:121) で org.sonar.batch.bootstrap.Module.start (Module.java:83) で org.sonar.batch.Batch.execute (Batch.java:104) で org.sonar.runner.internal.batch.Launcher.executeBatch (Launcher.java:69) で org.sonar.runner.internal.batch.Launcher.execute (Launcher.java:61) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) sun.reflect.NativeMethodAccessorImpl.invoke (不明なソース) で sun.reflect.DelegatingMethodAccessorImpl.invoke (不明なソース) で java.lang.reflect.Method.invoke (不明なソース) で org.sonar.runner.Runner.delegateExecution (Runner.java:285) で ... 3 つ以上
ソリューション フォルダーには、次の sonar-project.properties が含まれています。
# Project identification
sonar.projectKey=com.project.btg
sonar.projectVersion=1.0
sonar.projectName=BTG
# Info required for Sonar
sonar.sources=.
sonar.language=cs
sonar.dotnet.visualstudio.solution.file=Sonar.project.sln
sonar.dotnet.buildPlatform=x86
sonar.dotnet.buildConfiguration=Debug
sonar.modules=Project1,Project2
#modules specific configuration
Project1:sonar.sources=.\Project1
Project1:sonar.projectName=Project 1
Project2:sonar.sources=.\Project2
Project2:sonar.sources=Project 2
ソリューションには、この 2 つのプロジェクトしかありません。
各プロジェクトの sonar-project.properties にモジュール構成を追加しようとしました:
# Project identification
sonar.projectName=Project 1
私が使用した単一のプロジェクトでは、次のものがありました。
# Project identification
sonar.projectKey=com.Project1
sonar.projectVersion=1.0
sonar.projectName=Project 1
# Info required for Sonar
sonar.sources=.
sonar.language=cs
非常に単純なものが欠けているように感じますが、これに関する情報はあまり見つかりませんでした。
誰かがこれで私を助けることができるなら、私は追加の質問があります: C++ と C# プロジェクトのハイブリッド ソリューションを分析できますか?
ありがとう