2012-04-27 8 views
10

Pracuję nad pakietem NuGet, w tym skryptem install.ps1, który działa podczas instalacji pakietu. Chciałbym móc wysyłać wiadomości z mojego skryptu, a także wyprowadzać wyniki działania plików .bat z mojego sript.jak wyprowadzać komunikaty debugowania z pliku install.ps1 w NuGet

Oto mój install.ps1:

param($installPath, $toolsPath, $package, $project) 
Write-Output "Running install.ps1 for MyPkg" 
Set-Location $toolsPath 
.\helper.bat | Write-Output 

Kiedy zainstalować paczkę w Visual Studio, a potem patrzę w opcji na stronie OutputPackage Manager widzę:

Executing script file 'C:\Test\packages\MyPkg.1\tools\install.ps1'. 

i wydaje skrypt działa (mogę powiedzieć inaczej), ale nie widzę żadnego wyjścia. Jak mogę uzyskać wyjście działa?

Odpowiedz

18

Nie mogłem uzyskać danych wyjściowych podczas instalacji z okna dialogowego Menedżera pakietów NuGet, wykopię się trochę później, aby zobaczyć, gdzie to idzie.

Ale powinieneś być w stanie to zobaczyć podczas instalacji z konsoli Nuget (Narzędzia-> Menedżer pakietów bibliotecznych-> Konsola menedżera pakietów). Dane wyjściowe trafiły bezpośrednio do konsoli. Przykład:

PM> uninstall-package samplepackage 
hello from unninstal.ps1 
Successfully removed 'samplepackage 1.0.0' from WebApplication24. 

unninstal.ps1:

param($installPath, $toolsPath, $package, $project) 
Write-Host "hello from unninstal.ps1" 
+0

To działa! I. \ Helper.bat | Write-Host pokazuje dane wyjściowe pliku wsadowego. Więc moim problemem było Write-Output zamiast Write-Host. – JoelFan

Powiązane problemy