2015-06-27 7 views
13

Molti Visual Studio Online (VSO) build tasks utilizzano Write-Verbose per scopi di debug come visto in this example, ma come si attiva Write-Verbose in modo che le istruzioni di debug vengano visualizzate nei registri di output?Come visualizzare l'attività di compilazione di Visual Studio in linea Istruzioni Write-Verbose?

+0

Di solito il modo di fare questo in PowerShell è o richiamare il comando con '-Verbose' o imposta la variabile' $ VerbosePreference = 'Continua''. –

+0

Poiché lo script ha 'params', ottiene un' CmdletBinding' automatico, quindi '-Verbose' dovrebbe funzionare come dice @KeithHill. – Eris

+0

Grazie a voi @KeithHill e @Eris. Per prima cosa ho provato con '-Verbose' e ​​nessun cambiamento. Poi ho aggiunto '[CmdletBinding()]' prima di 'param()' nello script PowerShell e i messaggi Verbose hanno iniziato a stampare. – Jeremy

risposta

13

Per visualizzare le istruzioni dettagliate e di debug nel registro, è sufficiente aggiungere la variabile System.Debug alle variabili della definizione.

+1

Grazie. Aggiungendo una variabile con il nome "system.debug" e il valore di "true" alle variabili di compilazione, ho lavorato e ora posso vedere le istruzioni Write-Verbose dagli script di attività di PowerShell. –

0

(semplicemente spostando commenti a una risposta)

Poiché lo script ha params, ma non ha CmdletBinding, né una [Parameter(...)] poi -Verbose non viene effettuato.

Soluzione: aggiungere [CmdletBinding()] prima dello params o aggiungere uno [Parameter(Mandatory=$true)] o qualcosa di simile a una o più delle singole variabili di parametro.

Da about_parameters:

Tutti gli attributi sono opzionali. Tuttavia, se si omette l'attributo CmdletBinding , per essere riconosciuto come funzione avanzata, la funzione deve includere l'attributo Parametro.

about_Functions_CmdletBindingAttribute ha ulteriori informazioni sulle capacità conferite ai cmdlet.

2

Ecco cosa ha funzionato per me:

  1. Usa Write-Verbose "Text" -Verbose all'interno dello script
  2. Assegna costruire variabile system.debug a true