SonarQube 不分析 .NET Standard 2.0 项目中的 .cs 文件

问题描述 投票:0回答:1

我通过 StartSonar.bat 脚本在 Windows 10 64 位上运行 SonarQube 7.9.1。我的支持数据库是 SQL Server 2017,除了 JDBC 连接字符串和 SQL Auth 凭据之外,我的启动配置均为默认配置。

我启动了 SonarQube 并为我的 Selenium 测试工具解决方案创建了一个新项目,其中包含一些针对 .NET Framework 4.5 的中间件程序集、一个针对 .NET Standard 2.0(依赖于中间件)的框架程序集以及一些针对 .NET 的测试程序集Core 2.2 依赖于 Selenium 框架,在某些情况下还依赖于一些 .NET Framework 4.5 中间件程序集。

当我像这样对我的解决方案进行分析时:

dotnet sonarscanner begin /k:"MyCompany.Selenium"; dotnet build; dotnet sonarscanner end

中间件程序集都经过扫描,因此我可以看到代码行、错误、漏洞、代码味道等,正如我所期望的那样,但实际的框架代码根本没有被分析:

我的猜测是,SonarQube 在某个地方代表我决定该框架项目是一个“测试”项目,不需要代码分析,但我在 https://docs.sonarqube.org/latest/analysis 找到的信息用于检测测试项目的 /scan/sonarscanner-for-msbuild/ 表示以 Test/Tests 结尾的项目名称和 MSTest 项目是唯一自动标记为此类的项目,并且都不适用于我的框架。还有什么我应该寻找的吗?

c# sonarqube
1个回答
2
投票

在我的项目中的 .csproj 的属性组中添加

<SonarQubeTestProject>false</SonarQubeTestProject>
对我有用

© www.soinside.com 2019 - 2024. All rights reserved.