我正在使用.NET Framework 2.0开发一个Windows应用程序。只有用户才能看到所需的功能。
我面临的复杂性是,某些功能需要一些外部DLL。所以我希望如果用户不需要该功能,则不应在用户机器中部署DLL。
我认为一种解决方案是使用反射来使用DLL中的函数而不添加引用并创建2个单独的部署项目 - 一个使用DLL而另一个没有它。
有人可以提出其他解决方案吗?
由于
答案 0 :(得分:0)
似乎你需要一个插件系统,为此使用MEF
答案 1 :(得分:0)
@Antonio是对的,你有效地描述了一个插件系统。
您可以使用Assembly类中的Load()
方法之一,只要您可以使用内存中的程序集,直到整个应用程序关闭为止。如果您需要在运行时this SO question期间卸载程序集的更复杂方案可能对您有用。