加载DLL而不添加引用

时间:2012-11-17 13:35:39

标签: .net winforms

我正在使用.NET Framework 2.0开发一个Windows应用程序。只有用户才能看到所需的功能。

我面临的复杂性是,某些功能需要一些外部DLL。所以我希望如果用户不需要该功能,则不应在用户机器中部署DLL。

我认为一种解决方案是使用反射来使用DLL中的函数而不添加引用并创建2个单独的部署项目 - 一个使用DLL而另一个没有它。

有人可以提出其他解决方案吗?

由于

2 个答案:

答案 0 :(得分:0)

似乎你需要一个插件系统,为此使用MEF

http://mef.codeplex.com/

答案 1 :(得分:0)

@Antonio是对的,你有效地描述了一个插件系统。

您可以使用Assembly类中的Load()方法之一,只要您可以使用内存中的程序集,直到整个应用程序关闭为止。如果您需要在运行时this SO question期间卸载程序集的更复杂方案可能对您有用。