PowerShell заставляет приложение C # завершать работу при исключении - PullRequest
0 голосов
/ 28 июня 2018

Я использую объект System.Management.Automation.PowerShell для запуска некоторых команд / сценариев в программе на C #. Проблема, с которой я сталкиваюсь, заключается в том, что периодически происходит сбой всего приложения из-за исключения из PowerShell, которое приложение, очевидно, не может отловить.

Есть ли способ либо

  1. знать, какая команда или скрипт выполняется, или
  2. глобально установить -ErrorAction SilentlyContinue для пространства выполнения, в котором выполняется PS?

Версия платформы: v4.0.30319
Описание: процесс был прерван из-за необработанного исключения.
Информация об исключении: System.IO.IOException
at DotBuild.PowerShellCommand + d__17.MoveNext ()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore + <> c.b__6_1 (System.Object)
в System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object)
в ...

1 Ответ

0 голосов
/ 28 июня 2018

Вам может быть трудно перехватить исключение, потому что оно выброшено в другой поток и достигает точки входа потока. QueueUserWorkItemCallback, который появляется в трассировке стека, также указывает в этом направлении. Попробуйте обработать событие AppDomain.UnhandledException , чтобы получить дополнительную информацию об исключении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...