11

我正在开发一个 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运行),但我没有看到任何输出。如何使输出正常工作?

4

1 回答 1

18

从 NuGet 包管理器对话框安装时,我无法获得输出,稍后我会深入了解它的去向。

但是从 Nuget 控制台(工具->库包管理器->包管理器控制台)安装时,您应该能够看到它。输出直接进入控制台。例子 :

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

卸载.ps1:

param($installPath, $toolsPath, $package, $project)
Write-Host "hello from unninstal.ps1"
于 2012-04-27T19:19:19.307 回答