2016-08-28 3 views
1

아이디어가 부족하여 도움을받을 수 있으면 좋겠다. 현재로서는 PowerShell을 제대로 이해하지 못해서 생각합니다.콘솔에서 처음으로 스크립트가 실행되지 않는 경우

나는이 시리즈를 읽었습니다. https://foxdeploy.com/2016/05/17/part-v-powershell-guis-responsive-apps-with-progress-bars/ 그리고 똑같은 것을 시도한 다음 일반 PowerShell 콘솔 (ISE 아님)을 열고 스크립트를 호출 할 수 없다는 것을 발견했습니다. \ script.ps1

나는 또한 동일한 작업을 수행 할 수 없다는 사실을 알고있었습니다. 예제 스크립트는 여기에 있습니다.

https://github.com/1RedOne/BlogPosts/blob/master/GUI%20Part%20V/PowerShell_GUI_Template.ps1

그것은 그러나 두 번째 및 그 이후 때마다 실행합니까? 예를 들어, 당신은

.\script.ps1 (doesn't work) 
.\script.ps1 (works) 
.\script.ps1 (works) 
etc... 

할하지만

powershell .\script.ps1 (doesn't work) 
powershell .\script.ps1 (doesn't work) 

을 할 경우 ISE를 닫을 경우, 다시 열고 실행 스크립트가 처음 작동하는지?

나는이 문제의 원인을 정확히 알지 못합니다.

누구에게 아이디어가 있습니까?

github 링크에서 복사하는 것과 동일한 문제가 있음을 확인하려면이 링크를 클릭하십시오.

+1

고마워, 내 코드에서 오류를 발견했습니다! Mathias는 나에게 pull 요청을 보내고 내 사이트와 저장소에 코드를 수정했습니다. – FoxDeploy

답변

3

문제는 GitHub의에 스크립트에서 39 ~ 41 라인 예정이다 :

$syncHash.Window=[Windows.Markup.XamlReader]::Load($reader) 

[void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework') 

당신이 볼 수 있듯이, presentationframework.dllXamlReader.Load()가 호출 된 후 때까지 응용 프로그램 도메인에로드되지 않습니다.

나머지 스크립트는이 호출의 결과에 종속되므로 전체 작업이 실패합니다.

두 번째로 presentationframework 어셈블리가 이미로드되어 호출이 성공하고 Window가 올바르게 작성됩니다.

+0

정말 고마워요! 나는 그 자신을 해결하지 못했을 것이다. 그것은 처음으로 작동한다 :) – Goldn123

관련 문제