如何在NuGet中从install.ps1输出调试消息

时间:2012-04-27 15:14:26

标签: powershell nuget

我正在开发一个NuGet包,包括在包安装期间运行的install.ps1脚本。我希望能够从我的脚本输出消息,并输出从我的脚本中运行.bat文件的结果。

这是我的install.ps1

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

当我在Visual Studio中安装我的软件包时,我会查看Package Manager页面中的Output选项,我看到了:

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

似乎脚本正在运行(我可以通过其他方式告诉helper.bat运行),但我没有看到任何输出。如何才能使输出正常工作?

1 个答案:

答案 0 :(得分:18)

从NuGet Package Manager对话框安装时我无法获得输出,稍后我会稍后看看它的位置。

但是,从Nuget控制台(Tools-> Library Package Manager-> Package Manager控制台)安装时,您应该可以看到它。输出直接在控制台中。示例:

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"