【问题标题】:.NET Core application debug error: "Unable to set the next statement. This file does not exactly match the original version.".NET Core 应用程序调试错误:“无法设置下一条语句。此文件与原始版本不完全匹配。”
【发布时间】:2018-11-19 16:00:52
【问题描述】:

在 VS 2017 中调试 .NET Core 控制台应用程序时,我无法进行编辑然后设置下一条语句。它给了我标题中提到的错误:

例如,如果我在注释指示的位置设置断点,然后调试并修改断点正上方第一行中的字符串,则会收到错误:

static void Main(string[] args)
{
    string x = "foo"; // modify this after debug breaks.
    string y = "bar"; // breakpoint here
}

注意:这在 .NET Framework 控制台应用程序中按预期工作。

当我用谷歌搜索这个 OP 的标题时,我得到的结果为零,即使我将错误消息中的两个句子分成单独的引号字符串。当我在没有引号的情况下进行谷歌搜索时,我得到了许多没有提供答案的结果。例如,this one 的相似之处在于它以“无法设置下一条语句”开头,但其余部分不同。 This one 也类似,但在第一句之后又有所不同。

这是什么原因造成的?

【问题讨论】:

  • 只是一种预感,但您是否尝试过切换“启用编辑并继续”调试选项?我真的不知道这是否相关,但我会检查一下。
  • 感谢您的建议。我只是试了一下,并没有改变行为。
  • 我直接修改。您的解决方法不起作用,但它确实引导我找到另一个解决方法,即先设置下一行,然后然后修改x 的值。当我修改x然后尝试设置下一行时它不起作用。
  • 谁能复制这个?还是只有我?
  • 有同样的问题(VS 2019)。有人知道吗?

标签: c# .net visual-studio debugging visual-studio-2017


【解决方案1】:

我收到了完全相同的错误消息。我不知道它为什么起作用,但我通过以下方式解决了它:

  1. 检查Options->Debugging->General->Use the legacy C# and VB expression evaluators
  2. 运行调试会话(然后我可以在其中编辑并继续)。

再次取消选中该标志后,一切仍然有效。

【讨论】:

    【解决方案2】:

    试试这个:

    1. 删除输出文件夹 (bin\debug)。
    2. 关闭 IDE。
    3. 再次打开项目。
    4. 运行项目。

    有时 Visual Studio IDE 会锁定文件。 或者尝试以管理员身份运行 Visual Studio IDE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-29
      • 2022-08-02
      • 2017-10-07
      • 2011-12-31
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2021-12-14
      相关资源
      最近更新 更多