2017-03-05 5 views
2

모노를 사용하는 macOS에서 Xamarin 프로젝트의 MSBuild 용 SonarQube 스캐너를 사용하려고합니다. MSBuild 15.0이 이제 Xamarin과 함께 제공되므로 실제로 작동 할 수 있다고 생각했습니다.모노를 사용하는 macOS에서 MSBuild 용 SonarQube 스캐너

나는 성공적 스캐너의 지금과 같은 모노를 사용하여 "시작"실행할 수 MSBuild를 실행하기 전에

.sonarqube/conf/SonarQubeAnalysisConfig.xml 
.sonarqube/conf/SonarQubeRoslyn-cs.ruleset 
.sonarqube/conf/cs/SonarLint.xml 

, 나는 다음 가져 오기를 추가했습니다 :이 명령은 다음 파일을 생성

mono sonar-scanner-msbuild-2/SonarQube.Scanner.MSBuild.exe begin /k:"KEY" 

내 솔루션의 csproj 파일에 :

<Import Project="/Users/someuser/.local/share/Microsoft/MSBuild/14.0/Microsoft.Common.targets/ImportBefore/SonarQube.Integration.ImportBefore.targets" /> 

나는 MSBuild를 사용하여 실행하고 있습니다 : 0

msbuild /t:Rebuild 
지금 빌드가 제대로 시작하지만 결국 두 가지 오류와 함께 종료 :

"/Users/someuser/Project/Project.sln" (Rebuild target) (1) -> 
"/Users/someuser/Project/Project.UI.iOS/Project.UI.iOS.csproj" (Rebuild target) (2) -> 
"/Users/someuser/Project/Project.Core/Project.Core.csproj" (default target) (3:3) -> 
(CoreCompile target) -> 
    CSC : error CS2001: Source file `/additionalfile:/Users/someuser/Project/.sonarqube/conf/cs/SonarLint.xml' could not be found [/Users/someuser/Project/Project.Core/Project.Core.csproj] 
    CSC : error CS2001: Source file `/additionalfile:/Users/someuser/Project/.sonarqube/conf/Project.Core_AnyCPU_Debug_1267/ProjectOutFolderPath.txt' could not be found [/Users/someuser/Project/Project.Core/Project.Core.csproj] 

두 파일은 파일 시스템의 존재는, 첫 번째 파일이 호출을 시작 스캐너에서 만든 두 번째 파일이 생성 된 MSBuild 실행 중.

왜 MSBuild에서이 두 파일을 찾거나 액세스 할 수 없습니까? 그것에 대해 할 수있는 일이 있습니까?

+0

파일에 대한 사용 권한을 확인 했습니까? – Jason

+0

@ Jason, 예, 폴더 및 파일은 세계에서 읽을 수 있습니다. – Benjamin

+0

모노의 MSBuild는 아직 실험 중입니다. GitHub repo에 이러한 문제를보고하고 수정해야합니다. –

답변

0

은 MSBuild의 돌보는 사람으로 확인 후, 용액에서 제공되었습니다이 Github issue thread :

당신은 전달하여 CSC가있는 건물을 시도 할 수 :

는 Github의 문제에서의 급진적 인 코멘트를 인용 /p:CscToolPath=/Library/Frameworks/Mono.framework/Versions/4.8.0/lib/mono/msbuild/15.0/bin/Roslyn/ /p:CscToolExe=csc.exe는, 불행하게도

을 MSBUILD하기 MSBuild가 위와 함께 작동하더라도 SonarQube가 나중에 실패합니다. 나는 SonarQube 사람들과 함께이 일이 해결 될 수 있는지 알아볼 것입니다.

관련 문제