wpf - Prism:创建外壳后将模块加载到目录中

标签 wpf unity-container prism mef

在 Bootstrap 创建目录后,您可以使用 Unity 或 MEF 加载模块吗?换句话说,当应用程序启动并且 Bootstrap CreateModuleCatalog 代码已执行时,单击按钮加载一个未知的模块?无论是在文档中还是通过互联网搜索,我都没有找到一个很好的例子。要么它不支持这一点,要么我只是错过了一些东西。我发现的所有东西都只在 Bootstrap 中加载模块。

我正在尝试进行概念验证的基本 WPF 项目是:

  • 加载应用程序。它将加载一些标准模块。外壳将被创建并可见。
  • 用户交互将触发发现新模块的需求,将其添加到目录中,然后在 UI 上公开。我还不太关心它如何发现模块,更关心如何加载它们。发现很可能是查询数据库,下载所需的 .dll,然后保存到已知目录。

  • 我有一种感觉,它相对简单,我一直在旋转我的轮子试图解决这个问题。

    最佳答案

    查看 Prism 4.0 快速入门 - Silverlight 的 MEF 模块化。

    本快速入门从 XAML 创建目录,但您可以手动将条目添加到模块目录并传递类似参数。模块信息类唯一需要的是 XAP 文件的 REF。

    你也可以看看桌面版。这个在目录中找到包含模块的 DLL,然后从磁盘加载它们。您可以通过指向某个文件位置的已知 DLL 来做同样的事情。

    本质上,如果您将正确的模块信息添加到 ModuleCatalog 中,则需要加载模块,下载或加载 DLL,MEF/Unity 容器将初始化该模块。

    关于wpf - Prism:创建外壳后将模块加载到目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150451/

    相关文章:

    linq-to-sql - 团结 : passing in a new datacontext each time?

    c# - PRISM 5 MEF AvalonDock 2.0 DataAdapter 注册 View 和父项已选定

    wpf - Prism、ServiceLocator 和 Unity 容器层次结构和多窗口 WPF 应用程序

    wpf - FileFormatException 与 BitmapSource.CopyPixels 引发的内部 COMException

    wpf - ListView 组标题显示多次

    asp.net-mvc-4 - RavenDb Mini Profiler 仅在首页加载时加载

    .net - 使用 StructureMap 配置 Prism

    .net - 重新创建上下文时,wpf mvvm datagrid丢失排序

    c# - 设置资源字典的源时无法识别 URI 前缀

    wcf - 使 WCF OperationContext 与 DI 和测试很好地配合使用