SonarQube有一个MSBuild运行程序,但.NET Core使用dotnet.exe进行编译,而msbuild只是对其进行包装。我已经尝试过使用MSBuild运行器,但对我的ASP.NET Core解决方案没有成功。使用SonarQube扫描仪的作品。针对ASP.Net核心解决方案运行SonarQube
关于如何在.NET Core上使用SonarQube的建议?静态代码分析是我正在寻找的。
SonarQube有一个MSBuild运行程序,但.NET Core使用dotnet.exe进行编译,而msbuild只是对其进行包装。我已经尝试过使用MSBuild运行器,但对我的ASP.NET Core解决方案没有成功。使用SonarQube扫描仪的作品。针对ASP.Net核心解决方案运行SonarQube
关于如何在.NET Core上使用SonarQube的建议?静态代码分析是我正在寻找的。
似乎.NET的核心是从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核心项目在此期间(我没有测试它尚未):https://docs.microsoft.com/en-us/dotnet/articles/core/tutorials/target-dotnetcore-with-msbuild
的.NET核心工具将会从移动project.json到基于MSBuild的项目。我们期望使用MSBuild的.NET Core工具的第一个版本与下一版本的Visual Studio一起发布。但是,今天可以使用MSBuild for .NET Core项目,本页显示如何。
随着的.csproj现在作为的de-facto format对.NET核心解决方案,SonarQube支持这样的解决方案自带的SonarQube Scanner for MSBuild v2.3。
文档中缺少一条重要信息。 ¿什么MSBuild版本被链接?对我而言,我的项目是使用MSBuild 15.0的.NET 4.6.1。我只需要使用新的PATH正确设置MSBuild。我就是这样。 –
我能够让.NET Core从the procedure on their site开始工作,有两件事情我想指出...... hellip ;.
SonarQube.Scanner.MSBuild.exe
命令行,你必须是在相同的目录中的项目文件,并结束命令的位置目录必须启动相匹配。sonar.host.url
指向您的服务器时,您必须在修改之前取消注释文件的整个部分。否则,您刚刚将服务器插入sonar.host.url
行,因为该行已被注释掉,因此该行已死亡。这让我旋转了一段时间,然后才真正看着......。
鉴于我甚至没有设法使用Visual Studio来分析代码,我想我们只需要等待,并希望版本1.1时,将再次使用msbuild ... – peter
截至今天,如果您使用带有xproj的msbuild构建,则只会将调用包装到dotnet构建中。这不允许SQ规则遵循它,并且当msbuild runner启动它时,就像没有为它发生构建一样。 – baywet
挖掘它甚至不可能使用sonarlint来绑定asp.net核心项目并在VS中进行静态分析。我想他们必须实现一个新的跑步者+修改当前的sonarlint插件。 – baywet