2012-07-12 76 views
0

我有一个C#控制台应用程序,它在64位Windows 2008服务器上运行,并通过ODP.net访问Oracle 11g。它已经工作了大约6个月。Oracle.DataAccess dll for .Net应用程序

我编译我的电脑上的程序,使构建设置“任何CPU”。我在6个月前在Windows服务器上安装了相应的64位Oracle dll,并且从不替换它 - 我只替换了控制台应用程序的exe文件。

我昨晚更新了它 - 现在我得到一个BadImageFormat异常,并显示无法找到Oracle程序集的消息,这通常意味着我的DLL有错误的编译包。我确认并且我仍然使用原始的Oracle dll。我也确认我正在编译我的服务器上的“任何CPU”。

我甚至尝试过重新编译和重新加载,并找到原始Oracle dll的源代码并重新加载。

有没有人见过这个?有任何想法吗?

回答

0

所以我在试错后发现了这个。

发现某些时候,我已将PC上的ODP版本更新至版本4. ,但服务器上的版本为2.。虽然我已经正确地占了32位与64位,它被编译为期望一个特定的版本。

出于某种原因,我不能将新的DLL复制到服务器上。我必须编译引用4. * 64位DLL的应用程序,然后我可以将所有内容加载到服务器并使其工作。然后我必须删除参考并重新引用32位才能继续在我的PC上工作。烦人,但它的作品。

相关问题