C# 编辑并继续:错误 4027

在启用“编辑并继续”后,更新活动语句周围的块语句将会阻止调试会话继续进行

此错误在下列情况下发生:

  • 尝试修改 foreach 语句、using 语句、lock 语句或 fixed 语句的部分内容时,执行指针在修改块内部。

  • 尝试向 try 中添加 catch 时,执行指针在修改块内部。

  • 尝试将 try/catch 更改为 try/finally 时,执行指针在修改块内部。

有关更多信息,请参见 活动语句

考虑下列代码:

class Program

{

   static void Main()

   {

      using (System.IO.StreamReader file = System.IO.File.OpenText(@"example.txt"))

      {

         System.Console.WriteLine(file.ReadLine());

      }

   }

}

如果在 WriteLine 调用上设置一个断点并开始调试,然后尝试更改 using 语句中文本文件的名称,将发生此错误。

更正此错误

  • 从**“调试”菜单中选择“撤消”**以撤消更改。 以后可以在语句不再活动时进行更改。

    – 或 –

  • 在**“调试”菜单上单击“停止调试”**,进行更改,然后启动新的调试会话。

请参见

参考

foreach,in(C# 参考)

using(C# 参考)

try-catch(C# 参考)

try-finally(C# 参考)

“锁定”语句(C# 参考)

受支持的代码更改 (C#)

编辑并继续 (Visual C#)

其他资源

“编辑并继续”错误和警告 (C#)