我在我的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;]成员' XXX'不会隐藏可访问的成员。新关键字不是必需的。
我希望999+静态分析警告会出现在构建概述中的某个位置(即https://MYSITE.visualstudio.com/MYPROJECT/_build/index?buildId=XXX&_a=summary&tab=details
)。但是它只显示11个构建警告,没有别的。另请参见下面的屏幕截图。如何在此构建概述中显示静态代码分析警告?甚至可以概括一下已经触发的警告类型的概述?
在与VSTS合作几个月后,我的经验如下:
当与基线相比有更多警告时,我们已经开始使用Build Quality Checks来使构建失败。
是的,只是构建摘要的“问题”部分中的构建显示警告的一部分。
解决方法是您可以通过Logging Commands(##vso[task.uploadsummary]local file path
)上传代码分析结果文件(xml),并将内容添加到构建/发布摘要(链接到关联更改部分的工作项下方)
例如:
param(
[string]$p
)
Write-Host "##vso[task.uploadsummary]$p"
参数:
-p $(Build.SourcesDirectory)\WebAppAzureProfile\bin\WebAppAzureProfile.dll.CodeAnalysisLog.xml