2015-06-27 40 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
相關問題