2016-08-11 8 views
0

私は現在VS2013を使用しているチームにいるので、私のインストールはMSBuild12です。 FXCop10をインストールしました。 MSBuild14がインストールされています。 SonarQube Scanner for MSBuild 2.1がインストールされています。SonarQube、MSBuild14およびFxCop10を使用したC#VSソリューションの分析

デモモードでSonarQube Version 5.6を実行します。 私はすべてのルールを持っているが有効になり、次のバッチスクリプトを使用して分析することができます:私は%MSBuild14% /t:Rebuildを呼び出すために私の呼び出しを変更することにより、MSBuild14にアップグレードしようとすると

<!-- language: lang-sh--> 
@echo off 
REM Set FxCop10Directory="C:\Program Files (x86)\Microsoft Fxcop 10.0\" 
REM Set FxCop10="C:\Program Files (x86)\Microsoft Fxcop 10.0\FxCopCmd.exe" 

Set ScannerDirectory="D:\Programs\sonar-scanner-2.6.1\bin\" 
Set MSBuild12="C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe" 
Set MSBuild14="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" 
Set Runner="MSBuild.SonarQube.Runner.exe" 
Set Key="DEMO2016" 
Set Name="SonarQube Internal Demo" 
Set Version="0.0.0.0" 

PATH=%PATH%;%ScannerDirectory% 

call %Runner% begin /k:%Key% /n:%Name% /v:%Version% 
call %MSBuild14% /t:Rebuild 
call %Runner% end 
pause 

、私はエラーを取得します。

error : FxCop must be installed when some of its rules are enabled in the SonarQube quality profile. FxCop is included as part of Visual Studio. 

VS2013には別のバージョンのFXCopが付属しています。

MSBuild.SonarQube.Runnerで使用されているバージョンを制御するにはどうすればよいですか? MSBuild.SonarQube.RunnerのFxCop10を設定するにはどうすればよいですか?

答えて

0

なぜMSBuild12が当初私のために働いたのか分かりません。 自分のシステムで動作するように開発環境をインポートする必要がありました。

<!-- language: none--> 

@echo off 
echo. 
echo Setup References 
Set ScannerDirectory="D:\Programs\sonar-scanner-2.6.1\bin\" 
Set MSBuild14="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" 
Set Runner="MSBuild.SonarQube.Runner.exe" 
Set vcvars="C:\LegacyApp\VisualStudio2013\VC\vcvarsall.bat" 
echo. 
echo Setup Runner Parameters 
Set Key="DEMO2016" 
Set Name="SonarQube Internal Demo" 
Set Version="0.0.0.0" 
echo. 
echo Create Environment 
PATH=%PATH%;%ScannerDirectory% 
call %vcvars% 
echo. 
echo Runner Begin 
call %Runner% begin /k:%Key% /n:%Name% /v:%Version% 
echo. 
echo MSBuild Rebuild 
call %MSBuild14% /t:Rebuild 
echo. 
echo Runner End 
call %Runner% end 
pause 

現在はFxCopのバージョンを使用した出力を示しては、次のとおりです。

<!-- language: none--> 

Running Code Analysis... 
C:\LegacyApp\VisualStudio2013\Team Tools\Static Analysis Tools\FxCop\FxCopCmd.exe 

コマンドプロンプトでファイルがそのバージョンを返すことを実行します。

関連する問題