C# - .NET加载到大会独立的AppDomain这样你就可以卸载它[复制](C# - Load

2019-07-31 09:17发布

可能重复:
加载DLL到一个单独的应用程序域

什么是.NET程序集加载到单独的AppDomain,这样你就可以访问它的类型/类,但仍然能够卸载它(并重新加载它)的正确方法。

这是此以前讨论的切线: C# -正确的方式来加载组件,查找类并调用run()方法

Answer 1:

基本上,你只需要创建新的AppDomain,然后调用AppDomain.CreateInstanceAndUnwrap创建的类型。 这里有一个简单的CodeProject上的文章对这一进程。

有一些技巧,在这里。 你永远不能指直接型(这将加载类型到当前的AppDomain),和对象都应该派生自MarshallByRefObj 。 这将允许您使用对象“远程”,意思是保持它加载到你的AppDomain。



文章来源: C# - Loading .NET Assembly into Separate AppDomain So You Can Unload It [duplicate]