【问题标题】:How to create and integrate Plugin for a WPF application如何为 WPF 应用程序创建和集成插件
【发布时间】:2019-07-18 17:49:43
【问题描述】:

我一直在到处寻找一个例子或类似的东西,但没有任何运气,所以我希望这里的人能把我引向正确的方向。

我有一个 WPF 应用程序,我想构建插件/DLC/加载项(不确定当它是 WPF 时要搜索的正确词是什么,所以我将使用插件)。

我还没有构建任何插件,因为我认为可能有一个聪明的nuget packagepattern 可以使用。

所以本质上我想要一些不那么乏味的东西(我知道这很简单......):

if(myFolderPath contains "plugin.dll")
{
    AddAMenuButtonWithThePlugin();
}

我希望可能是某种AnnotationMethod 之类的:

[UseThisDll("plugin.dll")]
private void AddAMenuButtonWithThePlugin(){...}

如果您之前有过类似的任务,我想听听您是如何解决这个问题的,因为我发现自己的想法并不容易实现。

基本上,我有多台装有 WPF 的 PC,它们使用 Squirrel.Windows 进行安装和更新。

但是我有一些插件,可能只有一些 PC 应该有。

有什么好的建议吗?基本上我想将button 添加到page,这将导致它进入DLC page

【问题讨论】:

标签: c# wpf plugins add-in


【解决方案1】:

您可以为此使用 MEF。

MEF 有几个版本:

  • System.ComponentModel.Composition。它是 .NET 框架的一部分,也可作为 Nuget package 使用。
  • System.Composition,这是一个轻量级版本。它不允许动态重组,但它比第一个更快。 Nuget 包也是available
  • VS MEF,它是 Visual Studio 使用的实现。它可以重用其他两个库中的部分。 GitHub 代码库是 here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 2010-11-27
    • 2016-11-10
    • 2022-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多