如何在Visual Studio的调试模式下启用文件编辑?

tom*_*om7 141 visual-studio-2008 visual-studio

有没有办法在Visual Studio中调试时启用文件编辑?我取消选中"要求源文件与原始版本完全匹配"复选框.没什么区别.我必须停止调试才能编辑文件.很烦人.我启用了编辑并继续.结果相同.我禁用了编辑并继续 - 相同的结果.

Sec*_*cko 230

据我所知,您可以取消选中"编辑并继续"复选框.

工具 - >选项 - >调试 - >编辑并继续>启用编辑并继续(取消选中)

  • 这是我的解决方案 - 我不知道为什么联合检查"编辑并继续"将允许我编辑...似乎违反直觉.无论如何,我会将此标记为答案. (59认同)
  • 在Visual Studio 2015中,我在`Debugging` - >`General`的底部找到了这个设置. (17认同)
  • 如果您尝试执行此操作,但"启用编辑并继续"将显示为灰色,只需停止调试并返回选项即可. (12认同)
  • 反直觉,但有效. (7认同)
  • 如果业务层在解决方案中拆分为单独的项目,则会有不同的反应.在它被拆分之前,我能够在调试时编辑类而没有问题.不幸的是,这种解决方案在这种情况下并没有解决(使用VS2013) (2认同)

Jar*_*Par 18

扩展里德的正确答案.

在调试模式下编辑文件时,使用称为编辑和继续(通常缩写为ENC)的功能.这允许用户在调试器中运行时更改其程序.

启用ENC后,允许用户对其文件执行一组有限的编辑.继续执行程序(F10,F5等)的下一个动作将导致编辑应用于正在运行的程序.如果成功,程序的执行将继续应用新代码.

如果未启用ENC,则调试器不允许对文件进行编辑.

您的计算机上可能禁用ENC的原因有几个

  • 某些配置文件默认情况下不启用ENC,必须明确启用它
  • 您可能正在运行64位操作系统并将.Net应用程序设置为"任何CPU". ENC不适用于64位(CLR限制).您必须将应用程序设置回x86才能使ENC正常工作

  • 如果你不关心编辑和继续,只想在应用程序运行时编码,那么你可以看到在你做这件事时需要做什么?这绝对是不真实的VS会施加这种人为限制.它不像是在运行时需要读取源文件.它没有技术原因需要锁定源文件.在应用程序运行时,Xcode可以让您进行编码.这些更改在下次运行之前不适用.在VS中真的没有办法做到这一点吗? (8认同)
  • 它甚至不允许我*在应用程序运行时向项目*添加文件!我没骗你,每天20-30次我尝试做某事VS完全阻止它.在短暂的"wtf"时刻后,我意识到应用程序正在调试,我必须停止我正在做的事情,杀死应用程序,然后重新尝试它.我无法在这些条件下工作,我真的很惊讶人们对此不抱怨.这实际上是在扼杀我的生产力并让我崛起.必须有办法解决这个问题! (5认同)

Fra*_*tha 8

  • 联合国检查"启用编辑并继续"(Tools -> Options -> Debugging -> Edit and Continue > Enable Edit and Continue)
  • 构建您的应用.
  • 运行.
  • 停下来.
  • RE选中"启用编辑并继续".
  • 构建您的应用.
  • 运行.
  • 现在尝试调试时尝试编辑文件.

这对我有用.我相信它可能是Visual Studio 2015的一些错误或同步问题.


Ree*_*sey 5

您需要启用" 编辑并继续".

  • Seckos(评分最高)的答案对我有用(VS2015),与你的答案完全相反. (4认同)
  • 此外,您需要处于断点处,或单击暂停(全部中断)按钮. (2认同)

Joh*_*lph 5

通常,当您遇到断点时(只有那时),才可以在调试期间编辑文件。

但是有一些限制:-您的新代码必须编译-您不能在包含lambda表达式的函数中更改代码


小智 5

从MSDN

启用/禁用编辑并继续

  • 打开调试选项页面(工具/选项/调试)。滚动

  • 进入“编辑并继续”类别。要启用,请选择启用编辑

  • 和继续复选框。要禁用,请清除该复选框。注意。...

  • 单击确定。