故事:我的网站在 System.Data.OraceClient 中运行(由于各种技术原因,我无法更改 dll)。现在,我有一个第三方 DLL 集成到我的网站,它是 32 位的。当我从 Visual Studio 运行时,一切运行良好,但是当我将其发布到 IIS 时,它会引发上述错误。
现在的解决方案是: 在 IIS 应用程序池中启用 32 位
启用 32 位后,第三方 DLL 将开始工作,并且System.Data.Oracle client fails with BadImageFormat exception
在 IIS 应用程序池中禁用 32 位。
当 32 位被禁用System.Data.OracleClient
时,将开始工作,第三方 DLL 将失败并出现以下错误。
由于以下错误,检索具有 CLSID {xxxxx} 的组件的 COM 类工厂失败:xxxxxx 类未注册
-- 该类已注册。这就是为什么它在启用 32 位时工作的原因。
现在,我的情况是一次只有一个 dll 可以工作。在应用程序池中启用 32 位时,是否有一种解决方法可以让我的 System.Data.OracleClient 运行,而无需尝试将我的整个应用程序迁移到 Oracle 数据访问?