Azure DevOps - 捕获 dot.net 应用程序的错误日志

Azure DevOps - capture error log of dot.net application

我尝试在 buildpipeline 任务的日志中捕获 dot.net 应用程序的错误日志,用 vb/c# 编写。

buildpipeline 任务基本上是一个 powershell 脚本,它调用 dot.net 应用程序的可执行文件。

...
Start-Process -FilePath $Path -ArgumentList $argumentList -Wait
...

为了允许在网络机器上执行 dot.net 应用程序,我将这个命令放在一个脚本块中并打开一个 PSSession。 (也许,它有所作为?)

Invoke-Command $Block -Session $session -ArgumentList $argumentList

在 dot.net 应用程序中,我打印了类似

的错误
Console.Error.WriteLine($"+++++ {Message}:")

但管道日志保持为空。我没有使用其他工具(如 git.exe 或其他工具)来过期。

那么dot.net应用程序出了什么问题?

我写了一个简单的测试脚本。我发现上面的 Start-Process 命令将打开一个新的控制台 window 来执行 dot.net 应用程序。并在新控制台 window 中打印了错误日志。这可能就是powershell任务无法捕获错误日志的原因。

已通过在当前控制台 window.

中的 运行 dot.net 应用程序的上述 Start-Process 命令中添加标志 -NoNewWindow 来解决此问题
Start-Process -FilePath $Path -ArgumentList $argumentList -NoNewWindow -Wait