1

我的应用程序使用 MEF 来提供很好的可扩展性。基本上,它有许多插件可以实现的接口,它们将通过通常的 MEF 机制导入。

但是,我下一步想要实现的是提供一种从应用程序内部向我显示已发布插件列表(托管在某处)的方法,以便用户可以选择下载和安装这些插件。这应该有点像可以下载和安装 Addins/Extensions/Plugins 的 Visual Studio Gallery。

我知道我大概可以从头开始编写所有这些内容。我还阅读了几篇围绕个别主题的文章,例如

  • 一个可下载的插件可能需要某种带有描述、版本等的元数据/清单
  • 插件可能有依赖项——需要其他插件或普通程序集和文件,所以插件不仅仅是插件程序集 dll——也许是一个 zip 文件
  • 需要检查更新并下载这些。我知道 NET 存在一些问题,并且在使用时更换程序集
  • 下载和安装需要处理权限。如果应用程序本身安装在常规程序文件夹中,那么普通用户可能无权在其中添加额外的 dll

我不太关心可用插件的托管。这可以是任何东西:网络共享、Web 服务器——这些都无关紧要。

我的问题是:有没有人知道一个项目试图做这样的事情,所以我不必从头开始?任何帮助,将不胜感激。

J.-

4

0 回答 0