Как выводить отладочные сообщения из install.ps1 в NuGet

Я разрабатываю пакет NuGet, включая install.ps1 script, который запускается во время установки пакета. Я хотел бы иметь возможность выводить сообщения из моего script, а также выводить результаты запуска .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'.

и кажется, что работает script (я могу сказать по-другому, что helper.bat работает), но я не вижу никакого вывода. Как я могу заставить выход работать?

Ответ 1

Я не смог получить результат при установке из диалогового окна диспетчера пакетов NuGet, я немного поработаю, чтобы узнать, где это происходит.

Но вы должны уметь это видеть при установке с консоли Nuget (Tools- > Library Package Manager- > Package Manager Console). Выход поступал непосредственно в консоль. Пример:

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"