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

有没有办法在Visual Studio中debugging时启用文件编辑? 我没有选中“要求源文件完全匹配原始版本”checkbox。 没什么区别。 我不得不停止debugging来编辑文件。 很烦人。 我启用了编辑并继续。 同样的结果。 我禁用了“编辑并继续” – 结果相同。

据我所知,你可以取消选中“编辑并继续”checkbox。

工具 – >选项 – >debugging – >编辑并继续>启用编辑并继续(取消选中)

扩展里德的正确答案。

在debugging模式下编辑文件时使用了一个称为“编辑并继续”(通常缩写为ENC)的function。 这允许用户在debugging器中运行时更改程序。

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

如果ENC未启用,debugging器不允许编辑该文件。

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

  • 某些configuration文件默认不启用ENC,并且必须明确启用
  • 您可能在64位操作系统上运行,并将.Net应用程序设置为“任何CPU”。 ENC在64位(CLR限制)上不可用。 您必须将应用程序设置回x86才能使用ENC

您需要启用编辑并继续 。

  • 联合国检查“启用编辑并继续”( Tools -> Options -> Debugging -> Edit and Continue > Enable Edit and Continue
  • build立你的应用程序
  • 运行。
  • 停下来。
  • 重新选中“启用编辑并继续”。
  • build立你的应用程序
  • 运行。
  • 立即尝试编辑文件。

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

来自MSDN

启用/禁用“编辑并继续”

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

  • 编辑并继续类别。 要启用,请select启用编辑

  • 并继续checkbox。 要禁用,请清除checkbox。 注意。 …

  • 点击OK。

通常在debugging过程中编辑一个文件是可能的,当你点击一个断点(然后)。

虽然有一些限制:你的新代码必须编译,你不能在包含lambdaexpression式的函数中改变代码

如果您启用了“编辑并继续”并且正在使用C#,则只有在debugging程序已经通过断点停止或者您通过“全部中断”手动打开应用程序时才能编辑文件。 您仍然无法编辑某些文件,例如。 XAML文件在WPF应用程序,但它应该解决大多数问题。