【问题标题】:Visual Studio 2008 64-bit debugging strategyVisual Studio 2008 64位调试策略
【发布时间】:2010-02-03 22:15:48
【问题描述】:

我们正在转向全 64 位开发环境。不幸的是 VS 2008,更重要的是,它的内置 Web 服务器以 32 位模式运行。在调试引用 64 位程序集的代码时 - 例如,Oracle.DataAccess - 我们会遇到可怕的 System.BadImageFormatException

谁能提供任何在 VS 中调试具有 64 位依赖项的代码的策略?我想我们可以使用 32 位 Oracle 提供程序,但我们希望尽可能地模拟生产环境。

【问题讨论】:

  • 为什么不使用 IIS 来部署和调试您的应用程序?
  • 我必须同意 Igor,这就是我目前正在做的事情...在您的 Web 项目的属性调试选项卡中切换到 IIS 而不是 Cassini。

标签: visual-studio visual-studio-2008 64-bit


【解决方案1】:

我在 64 位 Vista 上进行了类似的设置,我在 IIS 中部署了网站 - 该网站已在 32 位和 64 位中成功运行和调试。

我发现最大的问题是在混合环境中工作,项目团队中的一些成员仍在使用 32 位 Windows(XP 和 Vista)。

这会导致项目对 Oracle.DataAccess 的引用令人头疼,我只能通过 web.config 文件中的 bindingRedirect 条目来解决这个问题,以便指向正确的程序集版本。

【讨论】:

    【解决方案2】:

    如果您使用 IIS7,您可以选择 32/64 位模式。然后,您将不得不使用 IIS 而不是 cassini 来启动您的项目,这需要一些工作,但我认为它至少可以解决 Oracle 的问题。老实说,我不知道在 32 位调试器上附加到它时这一切会如何工作。

    【讨论】:

      【解决方案3】:

      我们使用 VMware 主机为我们的每个网站开发人员提供自己的虚拟 Web 服务器。您可以使用完整的 IIS(如@KevinWon 建议的那样)并在其上安装调试器的64-bit version。我不知道我们这些人具体做什么 - 前几天我在喝咖啡时发现了这一点。

      【讨论】:

        【解决方案4】:

        在您的计算机上设置本地 IIS 并将其设置为以 32 位模式运行

        http://kb.parallels.com/en/2131 如果启用调试模式,您可以使用它,就像使用集成开发服务器一样。但是您不必弄乱 32/64 位程序集

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-11-08
          • 1970-01-01
          • 2010-12-24
          • 1970-01-01
          • 2010-11-28
          • 2010-12-15
          • 1970-01-01
          相关资源
          最近更新 更多