0

我正在创建一个简单的 Prism 2.1 演示,它使用“目录搜索”方法来填充模块目录。我的 shell 设置了一个 Windows Explorer UI;它有一个 Navigator 区域和一个 Workspace 区域。我创建了一个 NavigatorModule 和两个工作区模块,WorkspaceAModule 和 WorkspaceBModule。我已经声明了从 NavigatorModule 到两个工作区模块的依赖关系。

我收到带有以下消息的 ModularityException:“一个模块声明了对另一个未声明加载的模块的依赖项。缺少模块:WorkspaceBModule、WorkspaceAModule。” 两个工作区模块都不是按需加载的,因此我不确定为什么会收到此错误。如果我从 NavigatorModule 中删除依赖项,问题就会消失。

有什么想法或建议吗?谢谢。

这是导航器:

[Module(ModuleName = "NavigatorModule")]
[ModuleDependency("WorkspaceAModule")]
[ModuleDependency("WorkspaceBModule")]
public class NavigatorModule : IModule
{
    ...
}

这是工作区A:

[Module(ModuleName = "WorkspaceAModule")]
public class WorkspaceAModule
{
    ...
}

这是工作区B:

[Module(ModuleName = "WorkspaceBModule")]
public class WorkspaceBModule
{
    ...
}
4

1 回答 1

0

我找到了我的答案。我从工作区模块类声明中省略了 IModule 接口(请参阅上面的工作区模块声明)。添加接口(参见上面的 NavigatorModule 声明)解决了这个问题。

于 2009-12-11T15:22:09.327 回答