2016-08-28 1 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

しかしSECOND時間を実行し、その後毎回のでしょうか?たとえば、あなたは

.\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は私にプルリクエストを送って、私のサイトと私のリポジトリにコードを修正しました。 – FoxDeploy

答えて

3

問題は、GitHubの上のスクリプトで39-41行目によるものです:

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

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

あなたが見ることができるように、presentationframework.dllが呼び出されているXamlReader.Load()までのAppDomainにロードされていません。

スクリプトの残りの部分は、この呼び出しの出力に依存するため、全体が失敗します。

2回目に、presentationframeworkアセンブリが既にロードされているので、呼び出しが成功し、ウィンドウが正しく作成されます。

+0

ありがとうございました!私はそれを解決している、自分自身でそれを働いていないだろう、今は初めての作品:) – Goldn123

関連する問題