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

针对ASP.Net核心解决方案/项目运行SonarQube,sonarqube,asp.net-core,.net-core,Sonarqube,Asp.net Core,.net Core,SonarQube有一个MSBuild运行程序,但.NET Core使用dotnet.exe进行编译,而MSBuild只是将其包装。我已尝试在ASP.NET核心解决方案中使用MSBuild runner,但未成功。使用SonarQube扫描仪的工作方式有点像 关于如何使用.NET Core的SonarQube,有什么建议吗?静态代码分析正是我想要的。看来.NET核心正在从项目.json转换为使用.csproj和MSBuild。可以在.NET Core 1.1或类似版本中找到。在那个时候,可以使用

SonarQube有一个MSBuild运行程序,但.NET Core使用dotnet.exe进行编译,而MSBuild只是将其包装。我已尝试在ASP.NET核心解决方案中使用MSBuild runner,但未成功。使用SonarQube扫描仪的工作方式有点像


关于如何使用.NET Core的SonarQube,有什么建议吗?静态代码分析正是我想要的。

看来.NET核心正在从项目.json转换为使用.csprojMSBuild。可以在.NET Core 1.1或类似版本中找到。在那个时候,可以使用MSBuild来构建项目,并让SonarQube来处理

见:

我想这是否是件好事还有待观察

另请参阅此链接,以了解在此期间使用MSBuild构建.NET核心项目的可能解决方法(我尚未对其进行测试):

.NET核心工具将从project.json转移到基于MSBuild的项目。我们希望使用MSBuild的.NET核心工具的第一个版本与Visual Studio的下一个版本一起发布。但是,现在可以将MSBuild用于.NET核心项目,本页将介绍如何使用


随着.csproj现在成为.Net核心解决方案的主流,SonarQube对此类解决方案的支持也随之而来。

我能够从中获得.Net核心构建,我想指出两点

  • 运行
    SonarQube.Scanner.MSBuild.exe命令行时,必须与项目文件位于同一目录中,并且end命令的位置目录必须与start匹配
  • 当说明说您必须修改
    sonar.host.url
    以指向服务器时,您必须在进行修改之前取消对文件的整个部分的注释。否则,您只是将服务器插入到一行
    sonar.host.url
    中,该行已被注释掉,因此无效。这让我旋转了一段时间,然后才真正看了看

考虑到我甚至没有设法使用Visual Studio来分析代码,我想我们只需要等待并希望版本1.1再次使用msbuild……从今天起,如果您使用带有xproj的msbuild进行构建,那么它只会包装对dotnet build的调用。这不允许SQ规则跟随它,当msbuild运行程序启动它时,就像没有生成它一样。到处挖掘,甚至不可能使用sonarlint绑定asp.net核心项目并在VS中进行静态分析工作。我想他们必须实现一个新的运行程序+适应当前的sonarlint插件。嗨@Psychoboy,我们设法让代码分析与声纳扫描器一起工作,但只能在Windows上工作,而不能在Linux上工作。我还提出了一个关于如何在Linux上运行它的问题:。我在这个问题中展示的命令对我在Windows上是有效的。看起来,dot net core中最新的东西是project.json,对于非Visual Studio开发人员,+xproj,对于Visual Studio开发人员,+csproj,如果你在做dome类项目(如xamarin等),链接到表明“特殊”的文档项目使用csproj文档中缺少一条重要信息。?要链接的MSBuild版本是什么?对我来说,我的项目是使用MSBuild 15.0的.NET 4.6.1。我只需要使用新路径正确设置MSBuild。我就是这样。