2012-04-27 99 views
10

我正在開發一個NuGet程序包,其中包括在程序包安裝期間運行的install.ps1腳本。我希望能夠從我的腳本中輸出消息,並輸出在我的腳步中運行.bat文件的結果。如何在NuGet中輸出來自install.ps1的調試消息

這是我install.ps1

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

當我安裝我的包在Visual Studio中,那麼我期待在OutputPackage Manager選項,我看到:

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

,似乎該腳本正在工作(我可以用其他方式告訴helper.bat運行),但我沒有看到任何輸出。我怎樣才能使輸出工作?

回答

18

從NuGet Package Manager對話框安裝時,我無法獲得輸出,稍後我會深入瞭解一下它的進展情況。

但是,從Nuget控制檯(Tools-> Library Package Manager-> Package Manager Console)進行安裝時,您應該能夠看到它。輸出直接在控制檯中進行。例如:

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

這一工程!和。\ helper.bat | Write-Host顯示批處理文件的輸出。所以我的問題是Write-Output而不是Write-Host。 – JoelFan 2012-04-27 19:32:13

相關問題