2017-01-05 10 views
1

私は、チームスケールでC#ビルドを実行しています。これには、Sonarでコードを分析するステップが含まれています。SonarQube MSBuildバージョンの警告

しかし、私は常にソナービルドログ内で警告を受け取ります。

INFO - SonarAnalyzer.Scanner needs to be executed: true 
     *********************************************************************************** 
WARN - *     Use MSBuild 14 to get the best analysis results     * 
WARN - * The use of MSBuild 12 or the sonar-scanner to analyze C# projects is DEPRECATED * 
WARN - *********************************************************************************** 

今私は、プロジェクトのMSBuildの12を使用していないことを知っている、とスニペットの最初の行はsonar-scannerが使用されているので、問題があることを示唆しています。

ソナースキャナの使用を避け、MSBuild 14を使用するにはどうすればよいですか?次

は、私のソフトウェアのバージョンです:
Teamcity version 10.0.4 
SonarQube version 6.2 
Sonar C# plugin version 5.5.2.537 
sonar-plugin for teamcity compiled from source as of 4th Jan 2017 

はチームシティーソナープラグインのみソナー・スキャナを使用していたり​​、それは私が変えることができる何か他のものでしょうか?

答えて

1

SonarQube TeamCityプラグインは、SonarScannerを直接使用するコミュニティのプラグインです。これは理想的ではありません。.NETプロジェクトでは複雑なビルド設定が可能で、SonarScanner自体がさまざまなmsbuildターゲットを処理できないためです。 .NETプロジェクトは、SonarQube Scanner for MsBuildによって分析され、プロジェクト構造の処理がMsBuild自体に委譲されます。

TeamCityとのネイティブ統合はありませんが、MsBuild用スキャナの使用を止めてはいけません。 simple command line applicationだから、TeamCityコマンドラインビルドステップでbeginendのステップを呼び出すことができます。

ご存知のとおり、SonarScannerは、指定したmsbuildを使用するMsBuild用のScannerとは逆にファイル分析のみでファイルを実行するため、msbuild12の警告が表示されます。 MsBuild14の場合、Roslynのすべてのメリットが得られ、MsBuild12の場合は、ファイル分析によってファイルに戻ります。

+0

あなたの提案にしたがって、私はコマンドラインアプリケーションをインストールして実行しましたが、「SonarQubeはプロジェクトに関する必要な情報を収集できませんでした」というエラーが表示され、推奨される考えられる原因は関係ありません。どこでデバッグするための詳細情報を得るためにソナーログを見つけることができますか? –

+0

MsBuild用スキャナを実行する前に、ソリューションフォルダに移動することを確認できますか。ログと収集されたデータのほとんどは、ソリューションの横にある '.sonarqube'フォルダにあります。私はあるフォルダからMsBuild用のScannerを起動してから、あなたのソリューションに移動してビルドを開始すると思います。 – Tamas

+0

私は '.sonarqube'を見るとフォルダを一切移動させません。ProjectInfo.logとsummary.mdだけが含まれている' out'フォルダがあります –

関連する問題