问题标签 [sonarqube-msbuild-runner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2149 浏览

msbuild - 具有基于 Roslyn 的自定义规则的 SonarQube

我有一个安装了 C# Plugin 4.5.0 的 SonarQube 5.3.1。按预期检测到基本包含的规则。

现在,我想使用 Roslyn SDK 项目 ( https://github.com/SonarSource-VisualStudio/sonarqube-roslyn-sdk ) 来添加我量身定制的分析器。

我很确定它们没问题,因为它们是在 Visual Studio 和在命令行中使用 msbuild 时提出的。

我现在的问题是能够将这些问题上传到声纳中,我一定遗漏了一些东西。

我显然使用了 MSBuild v2.0 的 SonarQube 扫描仪,安装了我生成的 jar 并激活了规则(出现在“代码气味”中),尝试构建一个我的规则应该打破的项目(他们确实如此,就像我前面说过),但它似乎没有接受我的规则。

该文档(https://blogs.msdn.microsoft.com/visualstudioalm/2016/02/18/sonarqube-scanner-for-msbuild-v2-0-released-support-for-third-party-roslyn-analyzers/)说它应该“生成包含所有分析器的分析错误和警告的错误报告”,然后将其上传到 SonarQube,但我找不到此报告。至少,只是一个没有任何相关规则的 SonarLint 输出文件。

正如 github 页面所建议的那样( https://github.com/SonarSource-VisualStudio/sonarqube-roslyn-sdk ),我也尝试过使用 Wintellect Analyzer,但没有成功。

我的猜测是配置中的某个地方有问题,但我不知道在哪里,知道吗?

0 投票
1 回答
946 浏览

code-coverage - 使用 opencover 和 Nunit 的 Sonarqube 覆盖范围

我们目前正在使用带有 Nunit 和 Opencover 的 Sonarqube 4.5.7(SonarQube Scanner for MSBuild 2.1)。测试执行成功,仪表板中正确报告了指标。但声纳仪表板中的覆盖部分为空白,覆盖 xml 为我的应用程序模块显示“Module skippedDueTo="MissingPdb"”

以下是我在 Jenkins 中使用的配置

0 投票
1 回答
278 浏览

c# - 用于 MSBuild 的 SonarQube 扫描仪在错误程序集下搜索类型

我在使用用于 MSBuild 的 SonarQube 扫描仪时遇到了一个奇怪的错误(扫描 C# 代码)。

在我的项目上运行该工具时,我收到此错误:

请注意,我能够创建一个演示此错误的最小“repro”项目(在此处找到)。

很难说为什么运行 MSBuild 会尝试在该程序集下查找名为“UnityEngine.UI.Selectable”的类型(此类型存在,但在不同的程序集中)。

我正在扫描的 .sln 文件包含 2 个项目(一个引用另一个)。

我怎样才能知道这里发生了什么?以及这是扫描仪中的错误还是我如何使用该工具?

0 投票
0 回答
2238 浏览

sonarqube - 升级到 6.2 版后无法在 SonarQube 上运行分析

我正在尝试使用 MSBuild 扫描仪在 SonarQube 6.2 上运行分析,但我在分析的第一个 C# 文件上立即收到错误。
该错误也发生在仅包含两个 C# 文件的非常简单的测试解决方案上。错误如下:

升级前分析工作正常。用于运行分析的用户对所有要分析的文件拥有完全权限。在分析之前文件似乎没有被锁定。

我正在使用以下配置:

  • SonarQube v. 6.2
  • C# 插件 v 5.5.1.522
  • MsBuild v2.2.0.24 的声纳扫描仪

这里是完整的扫描仪日志:

0 投票
1 回答
3524 浏览

c# - 尝试在 C# 项目上为 MSBuild 运行 SonarQube Scanner 时构建失败

我正在尝试从命令行使用SonarQube Scanner for MSBuild分析我的 C# 代码。

我已经为 MSBuild 2.2.0.24 ( http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+MSBuild )安装了 SonarQube 扫描仪并具备所有先决条件。

我正在运行以下命令:

但是当我在我的解决方案(.Net Framework 4.5.1)上运行 msbuild 时,构建失败。该解决方案在我不进行声纳扫描时成功构建,因此它必须与声纳扫描仪插件有关。

在 SonarQube.Analysis.xml 中,我只提供了 sonar.host.url、sonar.login 和 sonar.password。

这是 msbuild 的输出:

0 投票
1 回答
800 浏览

c# - 如何使用 sonar.cs.msbuild.testProjectPattern

我读过一些问题的答案提到 SonarQube 使用 sonar.cs.msbuild.testProjectPattern 来跳过与模式匹配的项目的代码分析。

目前我有一个很大的解决方案,其中一个项目包含“UnitTesting”作为其名称的一部分,也是物理路径的一部分。

例子:

项目名称类似于“Something.MoreText.UnitTesting”(.csproj 文件名为“Something.MoreText.UnitTesting.csproj”)

物理路径是“C:\Something\Folder\Etc\UnitTesting”

默认模式是 [^\] test[^\] $,它强制 'test' 区分大小写。

该项目被排除在分析之外。我想确保我理解它被排除在外的原因。同一解决方案中的其他项目正在得到很好的分析。

我想了解模式的使用是如何工作的。该模式是否适用于项目名称?到磁盘中的项目路径?它不区分大小写,因为它似乎默认模式是?我的项目被排除在外还有其他原因吗(我们没有在项目文件中添加任何明确的排除键)?

注意:我遇到了这篇文章检测测试项目,那里说

名称中带有“测试”的项目。

有些答案提到它是文件路径,有些是名称,有些是两者兼而有之......

环境:SonarQube 5.6.1,C# 6 项目。VS 2015 MSBuild 14,用于 MSBuild 2.2 的 SonarQube 扫描仪,OpenCover,nUnit 2.3

0 投票
1 回答
899 浏览

sonarqube - 来自 VSTS/TFS Online 的 Prem Sonar Server 访问问题,用于声纳分析步骤

我们正在尝试在 VSTS/TFS Online 中添加 Sonar 构建前和构建后步骤,如此处和此处所述。两者都是来自 Sonar 和 MS 的非常好的文档。以下是遵循的步骤
1. 暴露的内部声纳(托管在公司防火墙内部)端点,我们使用登录凭据成功测试
2. 在 VSTS 中创建了具有特殊声纳端点的端点。

在两个选项中 -

  1. 使用通用端点 - 如果我们选择使用允许用户名和密码的通用端点创建,Sonar Build 步骤无法识别下拉列表中的端点,最糟糕的是不会启用保存按钮 :(

  2. 使用 Sonar 端点 - 为了使其工作,必须创建允许基于令牌的访问的 Sonar 端点 - 为用户创建令牌,提供对用户 ID 的所有项目访问权限

但不知何故,Sonar 开始分析从未完成,但一段时间后出错。从日志消息(复制如下),看起来像它的 401 Unauthorized 问题

是否可以从 VSTS / TFS 在线访问 prem Sonar 服务器以进行 Sonar 构建步骤?也不确定基于天气令牌的访问是否有效或其他

仅供参考 - 从市场在线为 TFS 安装 Sonar 扩展

提前致谢

0 投票
0 回答
273 浏览

sonar-runner - Sonarqube 未处理异常:System.ComponentModel.Win32Exception:系统找不到

无法使用sonarqube-5.6.5and执行分析sonar-scanner-msbuild-2.2.0.24.

系统配置:64 位,Win 7 Java:JAVA 8 U 60/64 位

执行分析时在最后一步出错: call C:\TestTools\SonarSetup\sonar-scanner-msbuild- 2.2.0.24\SonarQube.Scanner.MSBuild.exe end

MSBUILS 声纳

在此步骤之前面临另一个错误:尝试从以下路径启动声纳服务时

C:\####\SonarSetup\sonarqube-5.6.5\bin\windows-x86-64\

请参考快照 声纳服务

0 投票
0 回答
489 浏览

sonarqube - 在 Sonarqube 中缺少 Dotcover 的覆盖结果

我能够在 DotCover 的帮助下生成 HTML 报告,并使用“/d:sonar.cs.dotcover.reportsPaths=.\dotCover\dotCoverResults.html”将其传递给 Sonarqube(dotcover html 中有覆盖数据)。在声纳日志中,我没有看到任何错误消息,但声纳仪表板显示没有覆盖;它是空白的。另一个应用程序的类似配置在其他应用程序中工作得非常好,但在这个应用程序中却不行。Blow 是 Jenkins 中为此使用的配置。

Sonarqube 版本:4.5.7 MSBuild SonarQube Runner:2.0 C#:5.2

任何帮助是极大的赞赏。

0 投票
1 回答
1006 浏览

xamarin - SonarQube Scanner for MSBuild on macOS 使用单声道

我正在尝试在使用单声道的 macOS 上的 Xamarin 项目上使用 SonarQube Scanner for MSBuild。由于 MSBuild 15.0 现在随 Xamarin 一起提供,我认为这实际上可以工作。

我可以像这样使用单声道成功运行扫描仪的“开始”:

该命令创建以下文件:

在运行 MSBuild 之前,我已将以下导入添加到我的解决方案的 csproj 文件中:

我正在使用以下方法运行 MSBuild:

现在构建正确启动,但最终以两个错误终止:

这两个文件确实存在于文件系统中,第一个文件是在扫描程序的开始调用中创建的,第二个文件是在 MSBuild 执行期间创建的。

为什么 MSBuild 无法找到/访问这两个文件?有什么可以做的吗?