如何构建C#插件框架?

时间:2009-08-28 10:38:43

标签: c# plugins dynamic-linking

我想为C#应用程序实现一个Plug-In框架;这样应用程序在编译时不需要知道所有可用的.DLL,但可以在运行时动态链接。我希望我需要设置一些预期的参数来传入和传出插件的信息,但我不确定还需要什么,或者如何在C#中进行此操作。你能指点我这个实现的模式或我可以实现的框架(如果需要API - 需要开源许可证)吗?

2 个答案:

答案 0 :(得分:7)

Managed Extensibility Framework (MEF)肯定是你要看的东西。它由Microsoft开发,稳定版本包含在.NET 4.0及更高版本中。

答案 1 :(得分:5)

您应该查看Mono.Addins库。它是开源的,易于使用,而且非常强大(我认为它甚至可以被MonoDevelop使用)。