我有一段.NET代碼,由於各種原因(可靠性,部署)必須在單獨的AppDomain中運行。我創建了一個派生自MBR的代理對象,它將調用委託給實際的東西,所以它不會加載到當前的AppDomain中。我通過通常的CreateInstanceAndUnwrap創建代理。從COM互操作失敗使用AppDomain
this.eDirectCommunication = (EDirectCommunicationProxy) this.appDomain.CreateInstanceAndUnwrap(x, y);
這個偉大的工程,當我使用它從一個.NET客戶端,從COM客戶端轉換失敗加載然而,當。我無法從透明代理投射。我驗證了需要的類型是在所需的AppDomain上創建的,並且Unwrap成功,只是轉換失敗。有趣的是,它在兩個AppDomain具有相同的基本目錄時工作,這指向程序集綁定失敗。但Fusion日誌查看器沒有提到任何問題。
有兩個有點類似的問題here和here,但他們沒有提供答案。 任何想法出了什麼問題,或者我該如何進一步調試?