Azure DevOps - захватить журнал ошибок точки. net приложения - PullRequest
1 голос
/ 20 марта 2020

Я пытаюсь записать журнал ошибок точки. net приложение, записанное в vb / c#, в журнал задачи buildpipeline.

Задача buildpipeline в основном представляет собой скрипт powershell, который вызывает исполняемое приложение dot. net.

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

Чтобы разрешить выполнение приложения dot. net на сетевых машинах, я помещаю эту команду в Script-Block и открываю сеанс PSSession. (Может быть, это что-то меняет?)

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

Внутри точки. net приложение Я печатаю ошибки вроде

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

, но журнал конвейера остается пустым. Я не должен делать это с другими инструментами, такими как git .exe или что-то еще.

Так что не так с точкой. net приложение?

1 Ответ

1 голос
/ 23 марта 2020

Я написал простые скрипты для тестирования. Выше я обнаружил, что команда Start-Process откроет новое консольное окно для запуска приложения dot. net. И журнал ошибок был напечатан в новом окне консоли. Вероятно, поэтому задача powershell не может перехватить журнал ошибок.

Это было исправлено добавлением флага -NoNewWindow к вышеуказанной команде Start-Process для запуска приложения dot. net в текущем окне консоли.

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