有人可以给我一个教程或一些演示代码,介绍如何在运行时将vs-mef与插件中的插件一起使用吗?

时间:2019-04-22 13:15:21

标签: mef

我不知道如何使用vs-mef。我了解并在.NET 4.0中使用了老式的MEF1,但这是完全不同的。确实根本没有任何文档。 Github页面上有一些代码,但是在应用程序仅读取实现了名为 IParentInterface 的特定接口的类的情况下,我无法使用它。该类位于所有其他插件所在的特定文件夹中的DLL中。 (在运行时)。

我试图使用CreateProductCatalogAsync()方法,但是在DLL中看不到该类。正确的DLL程序集似乎已加载。

我试图深入研究细节并询问维护者,但是不幸的是,它并不是很有帮助。如果我能看到一个可行的示例,那么我将能够看到所有部分都可以放在一起,而不是零星的方法块。

所以,当我执行时:

var program = exportProvider.GetExportedValue<IParentInterface>();

我收到错误消息:

Additional information: Expected 1 export(s) with contract name "VsMefEx2.IParentInterface" but found 0 after applying applicable constraints.

我的课是这样的:

public class Plugin1 : IParentInterface
{
    public string SayHello()
    {
        return "Hello, I'm Plugin1";
    }
}

我不喜欢Plugin1需要[导出],但是我认为不再需要导出零件的属性方式。如果是这样,该属性在哪里?

可以提供一个例子吗?还是更详细的教程?

0 个答案:

没有答案