私のアプリには、シェルから直接参照しているモジュールがあります(動作している間)。
すなわち
protected override void ConfigureAggregateCatalog()
{
base.ConfigureAggregateCatalog();
AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Bootstrapper).Assembly));
AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(MyModule).Assembly));
}
私のモジュールでは、ビューに対してSatisfyImportsOnceを呼び出しているときにこれが機能し、ビューモデルなどが作成されているのを確認できます。
ただし、モジュールにdirectoryCatalogを使用するようにブートストラッパーを変更しました。モジュールアセンブリ、pdbなどをシェルにコピーするためのビルド後のイベントをいくつか追加しました。
だから今、私は私のブートストラッパーに次のものを持っています
protected override void ConfigureAggregateCatalog()
{
base.ConfigureAggregateCatalog();
AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Bootstrapper).Assembly));
// add the directory catalog for the modules
AggregateCatalog.Catalogs.Add(new DirectoryCatalog("Modules"));
}
これで、アプリを実行してモジュールからのビューを確認できますが、以前は機能していたSatisfyImportsOnceは何もしないようです。エラーが表示されません。ディレクトリカタログを使用しているので、インポート/エクスポートに必要なさまざまな属性はありますか?
ありがとう。