다음을 통해 공유


C# 편집하며 계속하기: 오류 4054

편집하며 계속하기 기능을 사용하는 동안 'yield return' 또는 'yield break' 문을 포함하는 'method | property | indexer | operator'을(를) 수정하면 디버그 세션을 계속할 수 없습니다.

이 오류는 yield return 또는 yield break 문이 포함된 메서드, 속성, 인덱서 또는 연산자를 수정하려는 경우에 발생합니다. 자세한 내용은 yield(C# 참조)를 참조하십시오. 편집하며 계속하기에서는 디버깅 도중 이러한 변경을 지원하지 않습니다.

다음 코드에서는 이 오류가 발생하는 경우를 보여 줍니다.

class Program

{

   private int[] items = { 1, 2, 3 };

   System.Collections.Generic.IEnumerable<int> Range(int start, int end)

   {

      for (int index = start; index < end; index++)

      {

      yield return items[index];

      }

   }

   static void Main()

   {

      Program p = new Program();

      foreach (int item in p.Range(0, 2))

      {

         

      }

   }

}

yield return items[index]에 중단점을 설정한 다음 디버깅을 시작하고 Range 메서드에 지역 변수 선언 int a = 10을 추가하면 이 오류가 발생합니다.

이 오류를 해결하려면

  • 변경 내용을 취소한 다음 변경 내용 없이 디버깅을 계속합니다.

    - 또는 -

    디버그 메뉴에서 디버깅 중지를 클릭하고 필요한 변경 작업을 수행한 다음 새 디버깅 세션을 시작합니다.

참고 항목

참조

yield(C# 참조)

지원되는 코드 변경(C#)

편집하며 계속하기(Visual C#)

기타 리소스

편집하며 계속하기의 오류 및 경고(C#)