【问题标题】:ASP.NET Debugging problemASP.NET 调试问题
【发布时间】:2011-02-16 19:42:17
【问题描述】:

我正在 Visual Studio 2010 中构建网站。 我最近升级到运行 Windows 7 64 位的新开发机器。 现在,当我对网页进行更改时,我必须停止调试,杀死 cassini,然后在新代码生效之前重新开始调试。我在 XP 中没有这个问题。

我尝试过的事情...

  • 在配置文件中编译 debug="true"
  • options->Debugging->Edit and Continue 已启用

我不确定这是否遵循动态编译或编辑并继续 - 任何帮助将不胜感激。

编辑

我的一位同事没有这个问题。他和我有相同的设置,使用相同的项目,相同的构建配置(任何 CPU)

【问题讨论】:

    标签: asp.net visual-studio-2010 debugging 64-bit edit-and-continue


    【解决方案1】:

    原因是由于从 32 位操作系统更改为 64 位操作系统。在应用程序运行时更改代码的能力是 32 位代码所独有的。在 64 位可执行文件中,此功能已被删除。

    这称为“编辑并继续”。请参阅此问题以很好地解释为什么这不适用于 64 位可执行文件:

    Why doesn't Edit and Continue work on the x64 CLR?

    编辑:澄清:

    这不是操作系统的问题,而是代码构建的问题。如果您将构建配置设置为“任何 CPU”,它将在您的机器架构下运行(在您的情况下为 x64)。您应该能够将其强制为 x86 并能够使用“编辑并继续”。

    【讨论】:

    • 我也读过这篇文章,但是,在我的配置管理器对话框中,我似乎无法弄清楚如何将我的网站项目的配置更改为“调试/任何 CPU”。我在同一个解决方案中有几个“库”代码项目——我可以在这些项目上将平台更改为 x86,但我对网站只有一个选项。此外,下一个立方体中的开发人员,相同的项目/vs/win7/machine 可以编辑并继续!他的构建配置设置为任何 CPU!
    • 如果您在 Visual Studio 中转到 Build > Configuration Manager,您可以逐个项目更改构建配置。如果您在平台下拉列表中没有看到 x86 选项,请选择“新建”。我不保证将平台更改为 x86 会启用“编辑并继续”,但这是一个很好的起点。
    • 在配置管理器中,我的“网站”项目除了“任何 CPU”外没有其他选项。没有“新建”选项。我知道你在说什么——我确实为解决方案中的其他项目提供了这些选项——只是网站本身没有。这是因为它是一个网站而不是“网络应用程序”吗?
    • 是的。我刚刚测试过。我在创建 Web 应用程序项目时获得了该选项,但在创建网站时没有。
    【解决方案2】:

    在调试期间不能动态修改 64 位应用程序。为此,您需要更改构建目标“x86”。简单!

    只要改回来(如果你真的需要 64 位程序集)。

    【讨论】:

      【解决方案3】:

      事实证明,这是我的错……我遇到了可怕的“已达到网络 BIOS 命令限制”问题。我发现了一篇建议进行 regedit hack "HKLM\Software\Microsoft\ASP.NET\FCNMode = 1" 的帖子,这基本上会关闭文件更改通知。将此值更改为 2,并应用知识库 810886 中建议的更改解决了这两个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-19
        • 1970-01-01
        • 2019-10-24
        • 1970-01-01
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多