在我的应用程序中,我有一个直接从 shell 引用的模块(就在我开始工作的时候)。
IE
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 等复制到 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 现在似乎什么也没做。我看不到任何错误。既然我正在使用目录目录,我的导入/导出是否需要不同的属性?
谢谢。