none
アセンブリでMDI子フォームを生成 RRS feed

  • 質問

  • VS2005のC# .NETにてWindowsアプリを開発しています。

     

    数100種の子フォームを表示するMDIアプリを開発しています。

    各種フォームを個々にアセンブリ化し、MDIアプリから指定したフォームのアセンブリをロードします。

    各種フォームを閉じた際に、アセンブリをアンロードしたく、AppDomainを別途生成しています。

    各種フォームのクラスはFormクラスを継承しています。

    CreateInstanceAndUnwrapにて生成したインスタンスのMdiParentに、MDIアプリのフォームを指定すると、例外が発生します。

    「System.Windows.Forms.MdiClient+ControlCollectionはシリアル化可能に設定されていません」という内容です。

    Assembly.LoadFromとCreateInstanceにて生成した場合は、問題なくMdiParentに設定でき、正常に動作しました。

    AppDomainを別途生成した場合、例外が発生するのは何故なのでしょうか?

    また、問題を回避することは可能でしょうか?

     

    宜しくお願い致します。

    2007年6月29日 7:14

すべての返信