2015-06-27 13 views
13

Wiele Visual Studio Online (VSO) build tasks użycie Write-Verbose dla celów debugowania, jak widać na this example, ale jak można włączyć Write-Verbose na tak że oświadczenia debugowania pojawiają się w dziennikach wyjściowych?Jak wyświetlić zadanie kompilacji Visual Studio Online?

+0

Zazwyczaj sposób można to zrobić w PowerShell jest albo wywołać komendę '-Verbose' lub ustaw zmienną' $ VerbosePreference = 'Continue''. –

+0

Ponieważ skrypt ma 'params', dostaje on automatyczne' CmdletBinding', więc '-Verbose' powinno działać jako @KeithHill powiedział. – Eris

+0

Dziękujemy @KeithHill i @Eris. Najpierw próbowałem z '-Verbose' i bez zmian. Następnie dodałem "[CmdletBinding()]" przed 'param()' w skrypcie PowerShell i zaczęły się drukowane komunikaty Verbose. – Jeremy

Odpowiedz

13

Aby wyciągnąć szczegółowe i debugujące instrukcje do wyświetlenia w dzienniku, wystarczy dodać zmienną System.Debug do zmiennych w definicji.

+1

Dziękuję. Dodanie zmiennej o nazwie "system.debug" i wartości "true" do moich zmiennych kompilacji działało i mogę teraz zobaczyć instrukcje Write-Verbose ze skryptów zadań PowerShell. –

0

(Tylko przesuwając komentarzy do odpowiedzi)

Ponieważ skrypt params, ale nie ma CmdletBinding, ani o [Parameter(...)] następnie -Verbose nie jest honorowane. Rozwiązanie: Dodaj [CmdletBinding()] przed params lub dodaj [Parameter(Mandatory=$true)] lub coś podobnego do jednej lub więcej zmiennych poszczególnych parametrów.

Od about_parameters:

Wszystkie atrybuty są opcjonalne. Jeśli jednak pominięto atrybut CmdletBinding , wówczas aby można było rozpoznać funkcję zaawansowaną, funkcja musi zawierać atrybut Parameter.

about_Functions_CmdletBindingAttribute ma więcej informacji na temat zdolności nadawanych cmdletom.

2

Oto co pracował dla mnie:

  1. Zastosowanie Write-Verbose "Text" -Verbose wewnątrz skryptu
  2. Przypisywanie budować zmienna system.debug do true