【问题标题】:SonarQube takes only on csproj to do the anlyse from SLNSonarQube 仅使用 csproj 从 SLN 进行分析
【发布时间】:2019-03-16 17:30:37
【问题描述】:

我想对我的 sln 文件运行 SonarQube 分析,这意味着所有 csproj 都包含在该文件中。 显然我在配置中遗漏了一点,因为我的扫描仪只需要一个 csproj(总是一样的)

这就是我使用命令行的方式

E:\SonarQube\bin\SonarQube.Scanner.MSBuild.exe  begin /k:"MySuperProjectKey" /n:"MySuperName" /v:"1.0"

然后我使用 msbuild 工具进行构建(不涉及 Visual Studio)

'"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe" /t:Rebuild  /p:Configuration=dev MySuperVSProjectWithPlentyOfCSPROJ.sln"'

然后正常结束

"E:\SonarQube\bin\SonarQube.Scanner.MSBuild.exe end"

最终,我的 SonarQube 网站上只分析了一个 C# 共享库项目,而不是 10 个或更多。

【问题讨论】:

    标签: c# msbuild sonarqube jenkins-pipeline sonarqube-scan


    【解决方案1】:

    我必须使用SonarScanner.MSBuild.exe 而不是SonarQube.Scanner.MSBuild.exe 我所有的 csproj 现在都在我的仪表板上。

    【讨论】:

    • SonarScanner.MSBuild.exeSonarQube.Scanner.MSBuild.exe 如果来自同一版本,则它们在功能上应该是等效的。
    • @Valeri 如果它们在功能上相同,为什么要使用不同的名称?
    • @JeroenHeier 我们正在尝试实施一种新的命名方案,为了向后兼容现有脚本并构建我们保留旧文件名的硬编码旧文件名。
    • 我进行了更改,因为我看到一条消息告诉我另一个将很快被弃用。
    【解决方案2】:

    您可以从 sonarqube 扫描中排除不必要的 csproj 文件。以下内容可能对您有所帮助

     <!-- in .csproj -->
     <PropertyGroup>
     <!-- Exclude the project from analysis -->
     <SonarQubeExclude>true</SonarQubeExclude>
     </PropertyGroup>
    

    【讨论】:

    • 我想要所有这些,而不仅仅是一个。对不起,如果我不清楚。
    猜你喜欢
    • 2018-02-16
    • 2017-04-29
    • 2015-07-07
    • 2017-08-04
    • 2016-01-27
    • 1970-01-01
    • 2015-11-20
    • 2022-08-08
    • 1970-01-01
    相关资源
    最近更新 更多