2015-06-27 36 views
13

许多Visual Studio Online(VSO)build tasks使用Write-Verbose进行调试,如this example所示,但是如何打开Write-Verbose以使调试语句出现在输出日志中?如何显示Visual Studio Online构建任务Write-Verbose语句?

+0

通常你在PowerShell中这样做的方法是要么调用命令'-Verbose'或设置变量'$ VerbosePreference ='继续'。 –

+0

由于脚本具有'params',它会自动获得'CmdletBinding',所以'-Verbose'应该像@KeithHill所说的那样工作。 – Eris

+0

谢谢@KeithHill和@Eris。首先我用'-Verbose'尝试并且没有改变。然后,我在PowerShell脚本的'param()'之前添加了[CmdletBinding()],并且详细消息开始打印。 – Jeremy

回答

13

要获得详细和调试语句以显示在日志中,您只需将System.Debug变量添加到定义中的变量即可。

+1

谢谢。为我的构建变量添加一个名为“system.debug”和值为“true”的变量,我现在可以看到PowerShell任务脚本中的Write-Verbose语句。 –

0

(只是移动评论答案)

由于脚本有参数,可以但没有CmdletBinding,也不是[Parameter(...)]然后-Verbose没有兑现。

解决方案:在params之前添加[CmdletBinding()]或者添加[Parameter(Mandatory=$true)]或类似于一个或多个单独参数变量。

about_parameters

所有属性都是可选的。但是,如果省略CmdletBinding 属性,则要被识别为高级函数,函数 必须包含Parameter属性。

about_Functions_CmdletBindingAttribute有更多关于cmdlets技能的信息。

2

下面是我工作:

  1. 使用Write-Verbose "Text" -Verbose你的脚本中
  2. 分配建立变量system.debugtrue
相关问题