【问题标题】:Show Code Analysis warnings in VSTS在 VSTS 中显示代码分析警告
【发布时间】:2017-11-13 09:03:31
【问题描述】:

我的 Visual Studio Team Services 版本中有 setup Static Code Analysis。我正在为我的解决方案使用“MSBuild”构建步骤,并在构建日志中显示以 ##[warning] 开头的 999 多行:

2017-11-09T13:52:34.7970784Z ##[warning]myfilename.cs(753,17):警告 CA2200:重新抛出捕获的异常会更改堆栈信息。

在将“system.debug”设置为 true 进行构建时,我们还看到 vso 解析了这些警告,并且日志中的 999+ 行显示如下:

2017-11-15T12:30:40.1964968Z ##[warning]myfilename.cs(28,33):警告 CS0109:成员“Invoice.ColumnOptions”不会隐藏可访问的成员。 new 关键字不是必需的。
2017-11-15T12:30:40.1964968Z ##[debug]已处理:##vso[task.logissue type=Warning;sourcepath=myfilename.cs;linenumber=28;columnnumber=33;code=CS0109;]成员' XXX' 不会隐藏可访问的成员。 new 关键字不是必需的。

我希望 999+ 静态分析警告会显示在构建概述中的某个位置(即https://MYSITE.visualstudio.com/MYPROJECT/_build/index?buildId=XXX&_a=summary&tab=details)。但是它只显示 11 个构建警告,没有别的。另请参阅下面的屏幕截图。如何在此构建概览中显示静态代码分析警告?甚至是触发的警告类型的概述?

【问题讨论】:

    标签: continuous-integration azure-devops code-analysis


    【解决方案1】:

    在使用 VSTS 几个月后,我的经验如下:

    • 代码分析警告将显示在构建摘要中
    • VSTS 只会显示前 11 个警告
    • 因此,如果代码分析警告在 11 个构建警告之后打印,它们将不会显示。

    我们已经开始使用Build Quality Checks 来在与基线相比出现更多警告时使构建失败。

    【讨论】:

      【解决方案2】:

      是的,只是构建摘要的问题部分中显示的构建警告的一部分。

      解决方法是您可以通过Logging Commands##vso[task.uploadsummary]local file path)上传代码分析结果文件(xml),并将内容添加到构建/发布摘要(在链接到相关更改部分的工作项下方)

      1. 添加 Powershell 任务
      2. 调用logging命令上传代码分析结果

      例如:

      param(
      [string]$p
      )
      Write-Host "##vso[task.uploadsummary]$p"
      

      参数:

      -p $(Build.SourcesDirectory)\WebAppAzureProfile\bin\WebAppAzureProfile.dll.CodeAnalysisLog.xml

      【讨论】:

      • 没有名为 ...CodeAnalysisLog.xml 的文件。我还尝试通过传递/p:CodeAnalysisLogFile=MyXmlReport.xml 来强制此文件,但无济于事。好像我遇到了这个错误:stackoverflow.com/q/41105813/58107.
      • 你能分享一下OneDrive上的详细构建日志吗? (将 system.debug 变量设置为 true 并建立队列)
      • 经过反复试验,我解决了 xml 输出的问题(我将构建警告与静态分析输出混淆了)。但是,在上传 XML 时,它会尝试将 XML 显示为 HTML。至少可以说,输出不是那么好。我想我们需要从这些 XML 文件到可以嵌入到构建概述中的漂亮 HTML 的某种转换? (XSLT?)
      • @bouke 我认为Issue部分不能显示太多东西,所以它只显示警告的第一部分,换句话说,如果构建的警告(包括代码分析警告)较少,它将显示在构建摘要的问题部分。是的,输出不是很好,您需要将这些 XML 文件转换为漂亮的 HTML,您可以打开一个新线程来讨论如何将 xml 转换为漂亮的 HTML。另一方面,既然原来的问题已经解决了,你可以接受这个回答和回答。
      猜你喜欢
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多