在我的应用程序中,我有一个我直接从shell引用的模块(就在我工作的时候)。
即
protected override void ConfigureAggregateCatalog()
{
base.ConfigureAggregateCatalog();
AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(Bootstrapper).Assembly));
AggregateCatalog.Catalogs.Add(new AssemblyCatalog(typeof(MyModule).Assembly));
}
在我的模块中,当我一直在调用SatisfyImportsOnce时,这已经有效,我可以看到正在创建的视图模型等。
但是,我现在已经更改了我的引导程序,以便为我的模块使用directoryCatalog。我添加了一些post构建事件来将我的模块程序集,pdb等复制到shell。
所以现在我的引导程序中有以下内容
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似乎什么也没做。我看不出任何错误。现在我正在使用目录编目,我的导入/导出是否需要不同的属性?
感谢。