0

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

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

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

任何人都可以提出其他解决方案吗?

谢谢

4

2 回答 2

0

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

http://mef.codeplex.com/

于 2012-11-17T14:08:32.350 回答
0

@Antonio 是对的,您实际上是在描述一个插件系统。

您可以使用AssemblyLoad()类中的一种方法,只要您可以使用内存中的程序集,直到整个应用程序关闭。如果您需要能够在运行时卸载程序集的更复杂的场景,这个 SO question可能对您有用。

于 2012-11-17T14:51:49.807 回答