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