2017-03-17 2 views
2

조건부 중단 점 내에서 Linq를 사용할 수 있습니까? 디버거가 다음과 같은 오류 메시지가 맞았다 적조건부 중단 점에서 Linq를 사용하는 Visual Studio 2015

parentElement.ChildElements.Any(c => c.Id == 1) 

때이

디버거는이 식을 계산할 수 없습니다

표시됩니다 : 나는 다음과 같은 조건에 해당하는 경우 침입을 시도하고 있습니다

.

나는 문제가 디스플레이되는 상기와 같이이 같은 오류가 발생 .Any()

parentElement.ChildElements.Where(c => c.Id == 1).Count() > 0 

사용과 관련된 한 경우에는 다음과 같은 조건을 시도했다. 나는 주위에 일을 알고

#if DEBUG 
if(parentElement.ChildElements.Any(c => c.Id == 1)) 
{ 
    System.Diagnostics.Debugger.Break(); 
} 
#endif 

그러나, 내가 이상적으로 디버거를 배치하는 코드를 변경 좋아하지 않을 다음 코드를 것이다.

+0

조건부 중단 점을 사용하지 마십시오. 실행이 여러 번 느려집니다. –

+1

이 확인되었습니다. - linq이 조건부 중단 점에 대해 정상적으로 작동합니다. –

+0

디버깅 옵션에서 '관리되는 호환 모드 사용'을 사용하지 않는 것과 관련이 있다고 생각합니다. 이 설정을 사용하면 중단 점이 예상대로 작동합니다 –

답변

1

이 문제는 Visual Studio 내에서 Use Managed Compatibility Mode 옵션을 사용할 수 없기 때문에 발생했습니다.

이 옵션을 선택하면 중단 점이 예상대로 수행됩니다.

Visual Studio 내에서이 옵션을 활성화하는 방법은 this 답변을 참조하십시오.

관련 문제