2016-08-11 1 views
0

Я в команде, которая в настоящее время использует VS2013, поэтому моя установка - MSBuild12. Установлен FXCop10. Я установил MSBuild14. Установлен SonarQube Scanner for MSBuild 2.1.Анализ решения C# VS с использованием SonarQube, MSBuild14 и FxCop10

Я запускаю SonarQube версии 5.6 в демонстрационном режиме. У меня есть все правила, позволяет и может анализировать с помощью следующего пакетного сценария:

<!-- 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 

Когда я пытаюсь обновить MSBuild14, изменив мой призыв позвонить %MSBuild14% /t:Rebuild, я получаю сообщение об ошибке.

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? Как настроить FxCop10 для MSBuild.SonarQube.Runner?

ответ

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 

Выполнение этого файла в командной строке возвращает свою версию.