2012-04-27 14 views
10

Sto sviluppando un pacchetto NuGet, incluso uno script install.ps1 che viene eseguito durante l'installazione del pacchetto. Mi piacerebbe essere in grado di generare messaggi dal mio script e anche di mostrare i risultati dell'esecuzione dei file .bat dal mio sript.come emettere messaggi di debug da install.ps1 in NuGet

Ecco il mio install.ps1:

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

Quando si installa il pacchetto in Visual Studio, poi guardo nell'opzione Package Manager nella pagina Output, vedo:

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

e sembra lo script funziona (posso dire in altri modi che è stato eseguito helper.bat), ma non vedo alcun output. Come posso far funzionare l'output?

risposta

18

Impossibile ottenere l'output durante l'installazione dalla finestra di dialogo Gestore pacchetti NuGet, scaverò un po 'più avanti per vedere dove sta andando.

Ma dovresti essere in grado di vederlo durante l'installazione dalla console Nuget (Strumenti-> Gestione pacchetti libreria-> Gestione pacchetti). L'output è andato direttamente nella console. Esempio:

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

che funziona! E. \ Helper.bat | Write-Host mostra l'output del file batch. Quindi il mio problema era Write-Output invece di Write-Host. – JoelFan

Problemi correlati