protected virtual FacadeTaskResult Execute(IFacadeTaskServer facadeTaskServer, IFacadeLogger facadeLogger, FacadeTask facadeTask, FacadeTaskExecutorConfiguration facadeTaskExecutorConfiguration) { IIsolatedEnvironment environment = SharedEnvironmentManager.GetSharedEnvironment(); Type taskRunnerType = typeof(RemoteFacadeTaskRunner); IRemoteFacadeTaskRunner taskRunner = (IRemoteFacadeTaskRunner)environment.AppDomain.CreateInstanceAndUnwrap( taskRunnerType.Assembly.FullName, taskRunnerType.FullName); return(taskRunner.Execute(facadeTaskServer, facadeLogger, facadeTask, facadeTaskExecutorConfiguration)); }
private static ITestAdapter CreateRemoteShim() { IIsolatedEnvironment environment = SharedEnvironmentManager.GetSharedEnvironment(); environment.Loader.AddHintDirectory(GetVSTSDirectoryPath()); Type shimType = typeof(Shim); ITestAdapter shim = (ITestAdapter)environment.AppDomain.CreateInstanceAndUnwrap(shimType.Assembly.FullName, shimType.FullName); return(shim); }
internal virtual IProxyTestRunner CreateRemoteProxyTestRunner() { try { IIsolatedEnvironment environment = SharedEnvironmentManager.GetSharedEnvironment(); AppDomain.CurrentDomain.AssemblyResolve += ResolveRunnerAssembly; Type runnerType = typeof(RemoteProxyTestRunner); object runner = environment.AppDomain.CreateInstanceAndUnwrap(runnerType.Assembly.FullName, runnerType.FullName); return((IProxyTestRunner)runner); } finally { AppDomain.CurrentDomain.AssemblyResolve -= ResolveRunnerAssembly; } }