SonarQube有一个MSBuild运行器,但.NET Core使用dotnet.exe进行编译,而msbuild只是包装它。我已经尝试使用MSBuild运行器,但我的ASP.NET Core解决方案没有成功。使用SonarQube扫描仪可以使用。
有关如何使用带有.NET Core的SonarQube的任何建议?我正在寻找静态代码分析。
答案 0 :(得分:3)
.csproj 现在是 .Net Core 解决方案的de-facto format,SonarQube支持此类解决方案随附SonarQube Scanner for MSBuild v2.3。
答案 1 :(得分:1)
似乎.NET Core正在从 project.json 切换到使用 .csproj 和 MSBuild 。这可能在.NET Core 1.1或类似版本中可用。那时可以使用MSBuild来构建项目,让SonarQube选择它。
请参阅:https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-to-project-json/
我认为这是否是一件好事还有待观察。
另请参阅此链接,了解在此期间使用MSBuild构建.NET Core项目的可能解决方法(我尚未对其进行测试):https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
.NET Core工具将从project.json转移到基于MSBuild的项目。我们希望使用MSBuild的第一个版本的.NET Core工具与下一版本的Visual Studio一起发布。但是,今天可以使用MSBuild for .NET Core项目,此页面显示了如何。
答案 2 :(得分:1)
我能够从the procedure on their site开始使用.NET Core构建,我想指出两件事......
SonarQube.Scanner.MSBuild.exe
命令行时,必须与项目文件位于同一目录中,并且结束命令的位置目录必须与开头匹配。sonar.host.url
以指向您的服务器时,您必须取消注释文件的整个部分才能进行修改。否则,您只是将服务器插入到sonar.host.url
行中,因为它已被注释掉了。这让我旋转了一会儿,才真正看上去......。