Activator.CreateInstanceFrom..Unwrap();转换类型失败

时间:2019-02-27 05:24:28

标签: c# appdomain

我一直在努力使它工作大约4个小时。 try捕获到异常,并且是`System.InvalidCastException:无法转换透明代理以键入'Test.SandboxDomain'。

我尝试了什么?附加到AppDomain.CurrentDomain.AssemblyResolve,但是它从未被调用过,我也尝试做appDomain.CreateInstanceFrom(),它和appDomain.CreateInstanceFromAndUnwrap()一样没有用。

   public static AppDomain CreateAppDomain()
    {
       return AppDomain.CreateDomain("AppDomain");
    }


    public static SandboxDomain CreateSandbox()
     {
        var appDomain = CreateAppDomain();

        AppDomain.CurrentDomain.AssemblyResolve += SandboxDomain.CurrentDomain_AssemblyResolve;

        string AssemblyPath = Assembly.GetExecutingAssembly().Location;

        SandboxDomain sandbox = null;
        try
        {
             sandbox = (SandboxDomain)Activator.CreateInstanceFrom(appDomain, AssemblyPath,
                                                      typeof(SandboxDomain).FullName).Unwrap();
        }
        catch (Exception ex)
        {
                    Console.WriteLine(ex); 
        }

       return sandbox;
    }

我也尝试过this

0 个答案:

没有答案