SonarQube has an MSBuild runner but .NET Core uses dotnet.exe to compile and msbuild just wraps that. I have tried using the MSBuild runner with no success against my ASP.NE
With .csproj now being the de-facto format of .Net Core solutions, SonarQube support of such solutions comes with the SonarQube Scanner for MSBuild v2.3 .
I was able to get .NET Core builds working from the procedure on their site, with two things I'd like to point out….
SonarQube.Scanner.MSBuild.exe
command lines, you must be in the same directory as your project file, and the location directory of the end command must match the start.sonar.host.url
to point to your server, you must uncomment the entire section of the file before doing the modification. Otherwise you've just inserted your server into a sonar.host.url
line that is dead because it is commented out. This made me spin for a while before I really looked….It seems .NET Core is switching from project.json to use .csproj and MSBuild. That may be available in .NET Core 1.1 or similar. At that time it may be possible to use MSBuild to build projects and have SonarQube pick that up.
See: https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-to-project-json/
Whether that be a good thing or not remains to be seen I guess.
Also see this link for a possible workaround to use MSBuild to build .NET Core projects in the meantime (I have not tested it yet): https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
The .NET Core tooling is going to move from project.json to MSBuild based projects. We expect the first version of the .NET Core tools that use MSBuild to ship along with the next version of Visual Studio. However, it is possible to use MSBuild for .NET Core projects today, and this page shows how.