在Win 7 X64上运行Oracle 64位客户端的BadImageFormat异常

时间:2010-06-30 06:09:08

标签: asp.net asp.net-mvc

将64位Oracle客户端安装到Win 7 x64开发框后,我遇到了问题。我已经安装并配置了oracle客户端,并在我的库项目中添加了对它的引用,并且在部署到Win 2008 R2服务器时运行没有问题;但是我不能在内置的VS2010调试器中运行它。

在连接对象上调用.open()语句时,代码会抛出BadImageFormatException。

我发现如果我将在IIS中运行它并将应用程序移出默认应用程序池,则错误因某种原因而消失。

但是,当我运行测试项目(MSTest)时,我无法执行此操作,结果是我无法对此代码运行单元测试。是的,我可以嘲笑它,但我真的想了解并消除这个错误。有几种情况我想测试数据库中的一些测试数据。

非常感谢任何建议或链接。

谢谢,

Trey Carroll

1 个答案:

答案 0 :(得分:0)

根据我的小组中的高级开发人员的回答VS是一个32位应用程序,所以在Casini中运行的东西当然是从32位上下文。当32位Web Appattempts使用64位Oracle客户端时,会导致BadImageFormatException。 (显然,部署到IIS允许Web应用程序作为64位应用程序运行并消除冲突。)

所以这就是问题:当64位dll存在依赖关系时,如何从VS运行MSTEST单元测试?我可以获得这些32位版本,但是如何告诉我的应用程序使用32位版本进行测试/ Casini调试和64位版本呢?