I want to create an application domain with default permissions and load assembly into the application domain with default privileges and execute the methods inside the assembly.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You may take a look at the following article on MSDN. Or if you want to construct an instance of some type inside another AppDomain (assuming this type has a default constructor):
var domain = AppDomain.CreateDomain("NewAppDomain");
var path = @"C:\work\SomeAssembly.dll";
var t = typeof(SomeType);
var instance = (SomeType)domain.CreateInstanceFromAndUnwrap(path, t.FullName);
The instance
variable returned with this method lives on your newly created application domain and you are ready to manipulate it.
回答2:
Perhaps this helps
Can I reload an assembly in Mono CSharpRepl?
var dom = AppDomain.CreateDomain("tmp");
dom.Load("System.Core");
AppDomain.Unload(dom);
See also
Using multiple versions of the same DLL