public AppDomainRunner(string assemblyPath) { // make appdomain appDomain = AppDomain.CreateDomain("PseudoIsolated", null, new AppDomainSetup { ApplicationBase = AppDomain.CurrentDomain.BaseDirectory }); // create object instance remoteRunner = (AppDomainRunner)appDomain.CreateInstanceAndUnwrap(typeof(AppDomainRunner).Assembly.FullName, typeof(AppDomainRunner).FullName); remoteRunner.LoadAssembly(assemblyPath); }
public Container(string assemblyName) { appdomain = new AppDomainRunner(Path.Combine(System.Environment.CurrentDirectory, assemblyName)); }
public void Dispose() { assembly = null; remoteRunner = null; AppDomain.Unload(appDomain); }