C#, режим "Изменить и продолжить": ошибка 4027
Модификация блока перед или после активной инструкции не позволит продолжить сеанс отладки при включенном режиме "Изменить и продолжить".
Эта ошибка возникает, если:
была произведена попытка изменить часть оператора foreach, using, lock или fixed, когда указатель выполнения находится внутри изменяемого блока;
была произведена попытка изменить добавить catch в try, когда указатель выполнения находится внутри изменяемого блока;
была произведена попытка изменить 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#)
try-finally (Справочник по C#)
Оператор lock (Справочник по C#)
Поддерживаемые изменения кода (C#)
Режим "Изменить и продолжить" (Visual C#)