2017-07-28 32 views
5

Próbuję skorzystać z rozwiązania dotnetcore do targetowania SonarQube, ale w ramach tego rozwiązania istnieje kilka projektów wykorzystujących framework dotnetstandard. Więc kiedy próbuje analizować kod, nowe zadanie SonarQube zgłasza błąd informujący, że nie jest w stanie zlokalizować Microsoft.Build.Utilities.v4.0 jak pokazano poniżej:Czy program SonarQube VSTS Task wersja 3.0.1 nie obsługuje wielu typów MMSbuild?

2017-07-26T20:33:04.5685747Z 
[C:\agent\_work\6\.sonarqube\bin\targets\SonarQube.Integration.targets(166,5): error MSB4062: The "IsTestFileByName" task could not be loaded from the assembly C:\agent\_work\6\.sonarqube\bin\SonarQube.Integration.Tasks.dll. Could not load file or assembly 'Microsoft.Build.Utilities.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask. 
[C:\agent\_work\6\s\PSG.Identity.Contracts\PSG.Identity.Contracts.csproj] 

2017-07-26T20: 33: 05.1623435Z ## [błąd] Błąd: C: \ Program Files \ dotnet \ dotnet.exe nie powiodło się z kodem powrotu: 1

Projekt IntegrationTest został napisany w środowisku dotnetcore, ale ten projekt odwołuje się do 2 projektów napisanych w standardzie dotnetcore. struktura. Czy to możliwe, aby to zadanie obsługiwało wiele frameworków?

+0

Mają również spojrzeć na [to] (https://github.com/GitTools/GitVersion/issues/1175) dyskusji. –

Odpowiedz

1

Przy wydrukowanym wyniku wydaje się, że używasz polecenia dotnet dotnet build lub dotnet msbuild.

Zgodnie z tym linkiem https://www.sonarsource.com/resources/product-news/news.html#2017-04-13-sonarqube-scanner-for-msbuild-2-3-released sonarqube-scanner-msbuild obsługuje tylko MSBuild 15 lub nowszy.

Spróbuj użyć polecenia msbuild bezpośrednio zamiast polecenia dotnet. Jeśli robisz to w środowisku CI, konieczne może być zainstalowanie msbuild tools 2017. Pobieranie znajduje się u dołu strony.

Ponadto, upewnij się, że używasz sonarqube-scanner-msbuild