如何在模块内导入IModuleManager

时间:2014-01-17 02:44:03

标签: prism

关于PrismApplication的问题。我在WPF应用程序上使用Prism4和MEF,

在模块内导入IModuleManager时发生错误

错误:异常消息是:在先决条件导入之前无法调用GetExportedValue'Microsoft.Practices.Prism.MefExtensions.Modularity.MefModuleManager..ctor(Parameter =“moduleInitializer”,ContractName =“Microsoft.Practices.Prism .Modularity.IModuleInitializer“)'已设置。

[ModuleExport(typeof(IPlugIn))]
public class NavModule : IPlugIn
{
    [Import]
    private IRegionManager RegionManger;

    [Import]
    private IModuleManager ModuleManager;

    public string Caption
    {
       .....
    }

    public void Initialize()
    {
        .....
    }
}

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以在以下 CodePlex 主题中找到相同问题的正确答案:

在编写 IModuleInitializer 时似乎存在计时问题,导致抛出您描述的异常。但是,只有通过 AggregateCatalog 在代码中注册的模块才会出现这种情况。

您可以在以下链接中看到已报告的问题,社区发布了一种解决方法:

我希望这有助于你, 问候。