C# 프로그램에 PowerShell 기능을 추가하고 system.managment.automation.dll
어셈블리를 참조로 포함했습니다.system.managment.automation을 사용하는 Powershell 스크립트는 C# 호스트가 죽은 후에도 계속 실행됩니까?
사용하여 실행 영역 :
하지 사용하여 실행 영역 : this website에 따르면
PowerShell powerShell = PowerShell.Create(); powerShell.AddScript("my script"); powerShell.Invoke();
I에 유래에 C#을에서 PowerShell을의 scrit를 호출하는 두 가지 방법을 발견했다 , Powershell 인스턴스가 C# 호스트에 묶여있는 것처럼 보입니다.
Powershell 런타임은 기본적으로 명령을 동기식으로 처리하고 처리 결과를 호스트 응용 프로그램에 전달하여 사용자에게 반환 할 수 있도록합니다. 스크립트가 논리적으로는 C#을 호스트와 중지 할 수 있도록
또한, PowerShell 스크립트가 포함 된 system.managment.automation.dll
조립이 아닌 시스템 전체를 사용합니다.
사용자가 내 프로그램을 닫은 후에도 Powershell 스크립트가 계속 실행됩니까? 두 가지 방법은 어떻게됩니까?
추신 : PowerShell v2를 지원하고 싶습니다.
'powerShell = PowerShell.Create()'및'powerShell.Invoke()'를 실행하면 암시 적으로 runspace가 생성됩니다. 이 런 공간은 호스트 응용 프로그램 –
로 "죽습니다."두 가지 방법이 동일하므로 첫 번째는 두 번째 방법의 축약 버전입니까? – cgcmake
첫 번째 코드는 덜 간결하지만 (더 자세한 코드), 그렇습니다. 그들은 동일합니다. –