在VSTS中显示代码分析警告

时间:2017-11-13 09:03:31

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

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

  

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

使用" system.debug"进行构建时设置为true,我们也看到vso解析了这些警告,日志中的999多行显示如下:

  

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

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

Build overview

2 个答案:

答案 0 :(得分:1)

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

  • 代码分析警告将显示在构建摘要上
  • VSTS仅显示前11条警告
  • 因此,如果在 11个构建警告之后打印出“代码分析”警告,则它们不会显示。

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

答案 1 :(得分:0)

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

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

  1. 添加Powershell任务
  2. 调用日志记录命令以上传代码分析结果
  3. 例如:

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

    参数:

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