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



我试图在构建管道任务的日志中捕获用vb/c#编写的dot.net应用程序的错误日志。

构建管道任务基本上是一个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应用程序出了什么问题

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

通过在上面的"启动进程"命令中添加标志-NoNewWindow以在当前控制台窗口中运行dot.net应用程序,解决了此问题。

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