Модуль на основе PowerShell 7.xc# — InvokeScript — получение выходных данных из вызванного с ошибкой сценария

Я успешно создал командлет PowerShell на С# для автоматизации процесса сборки, но есть один камень преткновения, когда я использую InvokeScript для запуска команд npm.

      var npmBuildCommand = $"npm run admin-build-{environment}-{outputModuleUniqueInstanceName.ToLower()}";

invokeCommand.InvokeScript($"cd '{angularAppsFolder.FullName}'");

var results = invokeCommand.InvokeScript(npmBuildCommand);

foreach (var result in results)
{
    PackageWriteVerbose(result.ToString());
}

В приведенном выше коде собрана команда npm, которая создаст приложение Angular. Затем он переходит в правильный каталог и выполняет команду захвата вывода. Если к выполнению командлета добавляется -Verbose, я вывожу результаты в окно.

Это работает хорошо, но по какой-то причине в какой-то момент это больше не приводило к созданию проектов Angular, и когда я вошел в код, invokeCommand.HasErrors был ложным, а коллекция результатов PSObject была пустой.

В конце концов я понял, что изменил настройку в своих приложениях Angular, которая вызвала проблему, но я не могу найти способ получить информацию об ошибке в командлете, чтобы вывести ее в окно консоли, чтобы я, по крайней мере, знал в чем дело.

Есть ли другой способ выполнить сценарий, чтобы я мог фиксировать все отзывы, хорошие или плохие?

0 ответов

Другие вопросы по тегам