我正在开发一个 NuGet 包,包括一个 install.ps1
在软件包安装期间运行的脚本。我希望能够从我的脚本中输出消息并输出运行 .bat
的结果我的 sript 中的文件。
这是我的 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
运行了),但我没有看到任何输出。我怎样才能让输出工作?
最佳答案
从 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"
关于powershell - 如何在 NuGet 中从 install.ps1 输出调试消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353233/