我们正在转向全64位开发环境。不幸的是VS 2008,更重要的是,它的内置Web服务器,以32位模式运行。在调试引用64位程序集的代码时 - 例如 Oracle.DataAccess - 我们遇到了可怕的 System.BadImageFormatException 。
任何人都可以提供任何策略来调试VS中具有64位依赖关系的代码吗?我想我们可以使用32位Oracle提供程序,但我们希望尽可能地模拟生产环境。
答案 0 :(得分:1)
我在64位Vista上有类似的设置,我在IIS中部署了该网站 - 该网站已成功运行并在32位和64位调试。
我发现的最大问题是在混合环境中工作,项目团队中的某些成员仍然使用32位Windows(包括XP和Vista)。
这会导致带有Oracle.DataAccess项目引用的麻烦,我只能通过web.config文件中的bindingRedirect条目来解决这些问题,以便指向程序集的正确版本。
答案 1 :(得分:0)
如果使用IIS7,则可以选择32/64位模式。然后,您必须使用IIS而不是cassini进行项目,这需要一些工作,但我认为它至少可以解决Oracle的问题。老实说,我不知道在将32位调试器连接到它时会如何工作。
答案 2 :(得分:0)
我们使用VMware主机为我们的每个网站开发人员提供他们自己的虚拟Web服务器。您可以使用完整的IIS(如@KevinWon建议的那样)并在其上安装64-bit version调试器。我不知道我们这些人做的具体细节 - 我前几天在咖啡里发现了这一点。
答案 3 :(得分:0)
在您的计算机上设置本地IIS并将其设置为以32位模式运行
http://kb.parallels.com/en/2131 如果启用Debuging模式,则可以使用它,就像使用集成开发服务器一样。但是你不必弄乱32/64bit程序集