我应该如何在应用程序域边界加载程序集来加载和卸载模块?

时间:2010-10-22 18:52:33

标签: .net dynamic-linking applicationdomain

我知道在运行时动态加载程序集的限制,以防止它被卸载。相反,有人建议,如果这是一个要求,我应该在其他应用程序域中加载模块,然后跨域边界执行代码。

如何简化此开发过程并使用此方案?有哪些工具或框架?

2 个答案:

答案 0 :(得分:0)

MEF [1]会向您发送正确的方向吗?或者你可以和Castle Windsor [2]一起去,虽然我没有必要卸载它们。

[1] http://code.msdn.microsoft.com/mef

[2] http://www.castleproject.org/container/index.html

答案 1 :(得分:0)

这取决于“主机”应用与动态加载代码之间的交互有多复杂。如果它相当复杂,那么你可能想要完整的System.AddIn路线。如果您的交互相当简单,那么您应该编写自己的类来处理程序集的加载和卸载。我已经为各种较小的项目做了很多次这样的事情,所以我可以发布代码,如果这样做会有所帮助。