我有一段.NET代码,由于各种原因(可靠性,部署)必须在单独的AppDomain中运行。我创建了一个派生自MBR的代理对象,它将调用委托给实际的东西,所以它不会加载到当前的AppDomain中。我通过通常的CreateInstanceAndUnwrap创建代理。从COM互操作失败使用AppDomain
this.eDirectCommunication = (EDirectCommunicationProxy) this.appDomain.CreateInstanceAndUnwrap(x, y);
这个伟大的工程,当我使用它从一个.NET客户端,从COM客户端转换失败加载然而,当。我无法从透明代理投射。我验证了需要的类型是在所需的AppDomain上创建的,并且Unwrap成功,只是转换失败。有趣的是,它在两个AppDomain具有相同的基本目录时工作,这指向程序集绑定失败。但Fusion日志查看器没有提到任何问题。
有两个有点类似的问题here和here,但他们没有提供答案。 任何想法出了什么问题,或者我该如何进一步调试?