【问题标题】:Azure DevOps - capture error log of dot.net applicationAzure DevOps - 捕获 dot.net 应用程序的错误日志
【发布时间】:2020-03-20 06:23:51
【问题描述】:

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

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

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

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

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

在 dot.net 应用程序中,我会打印类似的错误

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

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

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

【问题讨论】:

  • 嗨,您是否查看了以下解决方案并尝试了标志 -NoNewWindow,效果如何?

标签: azure-devops azure-devops-extensions


【解决方案1】:

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

通过在上面的 Start-Process 命令中添加标志 -NoNewWindow 以在当前控制台窗口中运行 dot.net 应用程序已修复。

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

【讨论】:

  • 对不起,评估需要很长时间。但我检查它并且它有效。非常感谢!
猜你喜欢
  • 1970-01-01
  • 2023-03-29
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-28
  • 2022-09-30
  • 2019-05-06
相关资源
最近更新 更多