2012-04-27 5 views
10

パッケージのインストール時に実行されるinstall.ps1スクリプトを含むNuGetパッケージを開発中です。私はスクリプトからメッセージを出力し、.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での私のパッケージをインストールすると、その後、私は私が見るOutputページでPackage Managerオプション、で見て:

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

とそれはそうスクリプトは動作しています(私は他の方法でhelper.batが実行されたことを伝えることができます)が、出力は表示されません。出力をどのようにして得ることができますか?

答えて

18

NuGet Package Managerダイアログからインストールすると出力が得られませんでしたが、後で少し調べてどこに行くのか確認します。

しかし、Nugetコンソールからインストールするときに表示されるはずです([ツール] - > [ライブラリパッケージマネージャ] - > [パッケージマネージャコンソール])。出力はコンソールに直接送られました。例:

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-HostではなくWrite-Outputでした。 – JoelFan

関連する問題