【问题标题】:How do I enable file editing in Visual Studio's debug mode?如何在 Visual Studio 的调试模式下启用文件编辑?
【发布时间】:2010-11-09 11:16:37
【问题描述】:

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

【问题讨论】:

  • 我没有看到您编辑了您的问题。您可以通过快速重新安装来解决此问题。
  • @Secko 当我们谈论 Visual Studio 时,没有所谓的“快速重新安装”......
  • @Zero3 在我的时代,大约 16 年前,我在 (int)1999 - (int)2000 左右使用它。很久没有使用它了。
  • 真正的问题是 Visual Studio 的“编辑并继续”设置无法让您编辑并继续。相反,它是一个奇怪的功能,可以让您编辑代码,然后实际上更改正在执行的代码 以匹配您的编辑,然后从那里进行调试。即使这很有用,它也很少奏效。它应该被称为“即时编辑和重新编译”。将其关闭允许您在实际编辑您的代码的同时仍然调试您编译的代码。

标签: visual-studio visual-studio-2008


【解决方案1】:

您需要启用Edit and Continue

【讨论】:

  • 另外,需要在断点处,或者点击暂停(Break All)按钮。
  • @marcc:还有很多其他的事情,这就是我指向文档的原因。有关不支持的更改的完整列表,请参阅此位置的“不支持的方案”部分:msdn.microsoft.com/en-us/library/ms164927%28VS.80%29.aspx
  • Seckos(评分最高)答案对我有用(VS2015),与您的答案完全相反。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    据我所知,您可以取消选中“编辑并继续”复选框。

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

    【讨论】:

    • 这对我来说是解决方案 - 我不知道为什么取消选中“编辑并继续”会允许我编辑......似乎违反直觉。无论如何,我会将此标记为答案。
    • 反直觉,但有效。
    • 如果业务层被拆分为解决方案中的一个单独项目,这会产生不同的反应。在拆分之前,我能够在调试时编辑类而没有问题。不幸的是,在这种情况下,这个解决方案并没有为我解决(我正在使用 VS2013)
    • 在 Visual Studio 2015 中,我在 Debugging -> General 的底部找到了这个设置。
    • 如果您尝试执行此操作,但“启用编辑并继续”显示为灰色,只需停止调试并返回选项即可。
    【解决方案4】:

    扩展 Reed 的正确答案。

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

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

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

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

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

    【讨论】:

    • 如果您不关心“编辑并继续”,只想在应用程序运行时编写代码,以便在运行时查看需要完成的工作,该怎么办?这绝对是不真实的 VS 会施加这种人为的限制。它不需要在运行时读取源文件。没有技术原因必须锁定源文件。 Xcode 让您在应用程序运行时编写代码没有问题。这些更改直到下一次运行才适用。在VS中真的没有办法做到这一点吗?
    • 如果我禁用 Edit and Continue,它将允许我在应用程序运行时编辑 .cs 文件,但它仍会锁定 .xaml 文件。我正在寻找一种方法来完全禁用这种荒谬的锁定。
    • 它甚至不允许我在应用程序运行时向项目添加文件!我不骗你,我一天 20-30 次尝试做某事,而 VS 完全阻止了它。在短暂的“wtf”时刻后,我意识到应用程序正在调试,我必须停止我正在做的事情,终止应用程序,然后重新尝试它。我无法在这些条件下工作,我真的很惊讶人们并没有对此表示怀疑。这真的是在扼杀我的工作效率,把我逼上绝路。必须有办法解决这个问题!
    • @devios1 我经常做的事情就是不调试(ctrl+f5)就运行,只要你不需要断点或任何东西就可以了。
    • @devios1 相同。我希望有人(也许是我)能找到时间来完成这个扩展。 github.com/AndreasFurster/pause-edit-and-continue
    【解决方案5】:

    如果您打开了“编辑并继续”并且您正在使用 C#,那么您只能在调试器通过断点停止或您通过“全部中断”手动进入应用程序的情况下编辑文件。您仍然无法编辑某些文件,例如。 WPF 应用程序中的 xaml 文件,但它应该可以解决大多数问题。

    【讨论】:

      【解决方案6】:

      来自 MSDN

      启用/禁用编辑并继续

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

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

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

      • 点击确定。

      【讨论】:

        【解决方案7】:
        • 联合国勾选“启用编辑并继续”(Tools -> Options -> Debugging -> Edit and Continue > Enable Edit and Continue)
        • 构建您的应用程序。
        • 运行它。
        • 停下来。
        • 重新选中“启用编辑并继续”。
        • 构建您的应用程序。
        • 运行它。
        • 现在调试时尝试编辑文件。

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

        【讨论】:

        • 亲爱的投反对票的人,最好对你投反对票的原因发表评论。
        • 这并没有解决我的问题,但是下面投票率最高的答案解决了。
        【解决方案8】:

        如果您的源代码来自反编译的 dll,请注意反编译器可能会在 assemblyinfo.cs 中添加 IgnoreSymbolStoreSequencePoints 指令:

        [程序集:Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

        必须删除此行才能加载 pdb 文件,使编辑和继续工作。

        【讨论】:

          【解决方案9】:

          对我来说,此链接 Disabling IntelliTrace 有效。

          工具 > 选项 > IntelliTrace >(取消选中)启用 IntelliTrace

          调试 > 选项 > IntelliTrace >(取消选中)启用 智能追踪

          【讨论】:

            【解决方案10】:

            删除下面选项中的勾号对我有用

            工具 > 选项 > 调试 > 常规 > 启用编辑并继续

            *注意:在某些其他开发者系统中,添加此勾号可以达到目的。

            【讨论】:

              【解决方案11】:

              我已经尝试过这种方式,它为我工作。 转到 CSProj 或 VbProj 文件 -> 选择 Asp.Net Development Server/IIS Express -> 调试器 -> 启用编辑并继续 -> 保存并运行。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2011-02-16
                • 2012-10-10
                • 1970-01-01
                • 2013-04-19
                • 1970-01-01
                • 2018-08-24
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多