2010年6月15日火曜日

◆汎用フォームを作る4

これまで、汎用フォームのテストにはPowershell_iseを使っていたのだが、作ったスクリプトをコマンドラインから実行すると動かないことに気がついた。
どうやらコマンドラインではSystem.windows.forms.dllがロードされないみたい。
Add-Type -AssemblyName System.windows.forms
でロードしてあげる必要がある。

Powershell1.0では以下の構文で。
[void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")

ISEではISE自体が各種表示用にFormを使っているからデフォルトでロードされているのかなぁ。
なんか、ちょっといやらしいな・・・・・。(変数のスコープなんかも気をつける必要がありそうだし)

0 件のコメント:

コメントを投稿