내 ASP.NET 웹 페이지에 C++ .NET DLL에서 제공하는 일부 데이터가 필요합니다. 이 DLL을로드하고 처음에 함수를 호출하는 것까지는 모든 것이 잘 작동하는 것처럼 보였지만 현재는 내 프로젝트가 .cs 파일의 DLL을 참조하면 실제로 디버깅하지 않는 상태가 된 것 같습니다.C++ DLL을 참조 할 때 ASP.NET이 디버깅하지 않습니다. 중단 점이 적중되지 않습니다.
DLL을 참조하고 프로젝트에서 참조를 제거한 코드를 모두 주석 처리했으며 정상적으로 작동했습니다. 내가 다시 DLL에 대한 참조를 추가하고, 잘 작동했습니다. DLL의 네임 스페이스 (이 경우에는 MDnlnkCmdReader 사용)에 대한 using 문만 주석 처리하고 DLL을 참조하는 실제 코드는 남기지 않고 디버그를 눌렀을 때 중단 점에 아무런 영향을 미치지 않습니다. 그 줄을 다시 주석 처리하고 중단 점이 다시 나타납니다.
웹 페이지가 올바르게로드되지만 중단 점에 도달하지 않은 상태가되면 소스 코드로 다시 전환하여 중단 점을 보면주의 플래그가있는 개요로 표시됩니다. 나는 그들을 mouseover, 그때 그것은 "breakpoint는 현재 치지 않을 것이고 소스 코드는 원래 버전과 다르다"라고 말합니다.
나는 그 오류 메시지를 찾아 보았고 일반적인 해결책을 시도했습니다. 전체/bin 폴더를 핵으로 만들면 global.asax에 대한 웹 서버 오류 메시지가 표시되기 시작합니다. 이는 내가 어떤 CPU 모드 (일반적으로 x64로 빌드)에 빌드 될 때까지 지속되며,이 시점에서 x64에 빌드 된 DLL에 관한 메시지를 "로드 할 수 없습니다"라는 메시지가 나타납니다. 그것에 대한 참조를 삭제하면 페이지가 다시 작동합니다. x64 모드로 다시 전환하여 참조를 다시 추가하면 바로 시작한 지점으로 돌아갑니다. 재부팅도 도움이되지 않는 것 같습니다.
여기에 무슨 일이 일어나고 있는지, 그리고 어떻게 빠져 나올 수 있는지 아이디어가 있으십니까?
디버거를 연결할 때 대상 코드 유형이 바뀌고 있습니까? – Tejs