3

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

我尝试过的事情...

  • 配置文件中的编译 debug="true"
  • 选项->调试->编辑并继续已启用

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

编辑

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

4

3 回答 3

3

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

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

为什么“编辑并继续”在 x64 CLR 上不起作用?

编辑:澄清:

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

于 2011-02-16T19:51:01.363 回答
2

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

只需将其改回(如果您确实需要 64 位程序集)。

于 2011-02-16T19:52:37.677 回答
0

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

于 2011-02-24T21:43:31.047 回答