针对ASP.Net核心解决方案/项目运行SonarQube

时间:2016-06-15 16:56:38

标签: sonarqube asp.net-core .net-core

SonarQube有一个MSBuild运行器,但.NET Core使用dotnet.exe进行编译,而msbuild只是包装它。我已经尝试使用MSBuild运行器,但我的ASP.NET Core解决方案没有成功。使用SonarQube扫描仪可以使用。

有关如何使用带有.NET Core的SonarQube的任何建议?我正在寻找静态代码分析。

3 个答案:

答案 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行中,因为它已被注释掉了。这让我旋转了一会儿,才真正看上去......。