[c#] WCF 서비스 코드를 디버깅하려고 할 때 “감시 추가”기능에서 “식 평가 기의 내부 오류”가 표시됨 (MSVS 2013)

며칠 전에 내 솔루션을 MSVS 2013으로 옮겼습니다. 한 가지를 제외하고는 잘 작동합니다. WCF 서비스의 코드를 디버그하려고하면 작동하지만 변수의 상태를보고 싶을 때 다음과 같이 말합니다. “식의 내부 오류 평가자 “. Add watch 기능은 클라이언트 측에서 정상적으로 작동하지만 서비스 코드에서는 손상되었습니다. localhost에서 실행되는 내 자신의 WCF 서비스를 디버깅하려고합니다. 이걸 어떻게 고칠 수 있나요?

여기에 이미지 설명 입력

MSVS 정보 : Microsoft Visual Studio Professional 2013 버전 12.0.30110.00 업데이트 1 Microsoft .NET Framework 버전 4.5.51641 OS : Windows 8.1



답변

이것은 Visual Studio 2013과 함께 제공되는 새로운 (관리되는) 디버그 엔진의 버그 일 수 있습니다. Tools-Options-Debugging 아래 에있는 Managed Compatibility Mode (2013 년 이전 디버그 엔진으로 효과적으로 전환됨)를 설정해보십시오 .

이 방법으로 문제가 해결되면 작은 프로젝트로 재현 한 다음 Connect 에서 보고 하여 해결할 수 있습니다.

@bjhuffine 은 호환성 모드를 전역 적으로 비활성화하지 않고 (예 : 프로젝트 별) 활성화하는 다른 방법이 있다고 아래에 설명합니다. 자세한 정보 : https://devblogs.microsoft.com/devops/switching-to-managed-compatibility-mode-in-visual-studio-2013/


답변

“식 평가 기의 내부 오류” 질문에 따르면 관리되는 호환성 모드 사용”은 “편집 및 계속”을 중지합니다. Tools-Options-Debugging 아래에서 “Use the legacy C # and VB expression evaluators”옵션을 선택해보십시오 .


답변

Igal의 대답을 시도했지만 저에게 효과가 없었지만 저에게 효과가있는 솔루션을 찾았습니다. 시계를 지우고 항목을 다시 추가하기 시작했습니다. 현재 하위 또는 함수 내에없는 항목을 추가하려고하면 내부 오류가 발생한다는 것을 알았습니다.

잠수함이나 기능 내부에서 다른 항목을 추가하여 문제를 해결했는데 다시 오류가 발생하지 않았습니다.


답변

Michael Freidgeim의 답변은 내 문제를 디버그하는 데 도움이되었습니다. 하지만 문제의 원인에 대한 추가 세부 정보를 추가하고 싶습니다. 질문자의 질문과 약간 관련이 있지만 그의 오류는 매우 오해의 소지가 있습니다.

우리는 GridDateTimeColumn과 함께 Telerik 컨트롤 RadGrid를 사용했습니다. 이러한 그리드의 MinDate 속성은 기본적으로 01/01/1980이므로이 열보다 작은 날짜를이 열에 바인딩하면이 오류가 표시됩니다. 이상한 점은 원래 바인딩 및 표시가 문제를 일으키지 않았고 다른 페이지로 이동할 때만 오류가 발생했다는 것입니다.


답변