0

我已经成功地在 c# 中构建了一个 PowerShell cmdlet 来自动化我的构建过程,但一个问题是当我使用 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 添加到 cmdlet 执行中,我会将结果输出到窗口。

它运行良好,但由于某种原因,它不再导致构建 Angular 项目,当我进入代码时,invokeCommand.HasErrors 为假,结果 PSObject 集合为空。

我最终发现我已经更改了导致问题的 Angular 应用程序中的设置,但是我找不到一种在 cmdlet 中检索错误信息以将其输出到控制台窗口的方法,以便我至少知道这是怎么回事。

是否有不同的方法来执行脚本,以便我可以捕获所有反馈,无论好坏?

4

0 回答 0