我正在创建一个简单的Prism 2.1演示,它使用“目录搜索”的方法来填充模块目录。我的shell是使用Windows资源管理器UI设置的;它有一个Navigator区域和一个Workspace区域。我已经创建了一个NavigatorModule和两个工作空间模块WorkspaceAModule和WorkspaceBModule。我已经声明了从NavigatorModule到两个工作空间模块的依赖关系。
我得到了一个包含以下消息的ModularityException:“一个模块声明了对另一个模块的依赖,该模块没有声明为要加载。缺少模块: WorkspaceBModule,WorkspaceAModule。”这两个工作空间模块都不是按需加载的,所以我不确定为什么会出现这个错误。如果我从NavigatorModule中删除依赖项,问题就会消失。
有什么想法或建议吗?谢谢。
这是导航器:
[Module(ModuleName = "NavigatorModule")]
[ModuleDependency("WorkspaceAModule")]
[ModuleDependency("WorkspaceBModule")]
public class NavigatorModule : IModule
{
...
}下面是WorkspaceA:
[Module(ModuleName = "WorkspaceAModule")]
public class WorkspaceAModule
{
...
}下面是WorkspaceB:
[Module(ModuleName = "WorkspaceBModule")]
public class WorkspaceBModule
{
...
}发布于 2009-12-11 23:22:09
我找到了答案。我在工作区模块类声明中省略了IModule接口(请参阅上面的工作区模块声明)。添加接口(参见上面的NavigatorModule声明)解决了这个问题。
https://stackoverflow.com/questions/1888552
复制相似问题