Prism (別名 Composite Application Guidance) を使用して Silverlight 4.0 アプリケーションを構築しています。2 つのモジュールがあり、どちらも ModuleCatalog.xaml で WhenAvailable として定義されています。Application_OnStart はBootstrapperをインスタンス化し、そのRun()メソッドを呼び出します。アプリケーションを起動して実行した後 (実際には、ユーザーは UI のボタンをクリックする必要があります)、モジュールをロードしようとします。
foreach (ModuleInfo mi in moduleCatalog.Modules)
...
Type moduleType = Type.GetType(mi.ModuleType); // moduleType ends up null!
場合によっては、moduleTypeが null になります。null に遭遇したとき、ModuleInfo のStateがReadyForInitialization ではなくLoadingTypesであることを確認しました。これは、モジュール用に個別の *.xap ファイルをダウンロードし、それらの型をアプリケーション ドメインに取り込んでいることを意味していると思います。
それで、なにかお手伝いできますか?それらが最終的にすべてロードされたことを知るためにリッスンできるイベントがあることを知っていれば、喜んでブロックします。