2009-05-22 2 views
3

디버깅이 빨간색 오류 메시지를 사용할 수 없다는 정상적인 오류 메시지가 표시되지 않습니다. 내 글로벌 asax 파일을 제거하면 코드가 내 브레이크 포인트로 이동합니다. 파일을 다시 추가하면 프로젝트는 모든 중단 점을 완전히 무시하고 실행됩니다. 다음은 많은이 아니 볼 수global.asax 파일을 추가 한 후 Visual Studio .net 2008에서 디버그 기능이 손실되는 이유는 무엇입니까?

그래서 내 글로벌 asax 파일

공공 클래스 Global_asax 상속 System.Web.HttpApplication

Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) 
    ' Fires when the session is started 
    Application("concurentUsers") += 1 
End Sub 

Sub Session_End(ByVal sender As Object, ByVal e As EventArgs) 
    ' Fires when the session ends 
    If Session("loggedout") = Nothing Then 
     Application("concurentUsers") += -1 
    End If 
End Sub 

최종 클래스 내부의 코드입니다. 프로젝트를 실행할 때 Visual Studio에서 다음 메시지 상자가 나타납니다 글로벌 .asax 파일이 존재합니다

"다음 모듈은 디버그 정보를 사용하거나 사용하지 않고 최적화 된 상태로 구축되었습니다. (임시 temp asp.net 파일의 경로)이 모듈을 디버깅하려면 프로젝트 빌드 구성을 디버그 모드로 변경하십시오.이 메시지를 표시하지 않으려면 '시작할 때 사용자 코드가 없으면 경고'디버거 옵션을 해제하십시오. "

이러한 임시 파일을 삭제하려고했지만 프로젝트가 완전히 undebuggable이되고 빨간색 오류 메시지 상자가 표시되고 휴지통에서 복원하여 프로젝트를 다시 가져와야합니다. 그래서 매우 anoying 프로젝트 (그리고 그것과 관련된 모든 코드를 프로젝트 파일을 던져) 디버그하기 위해 글로벌 asax 파일을 제거해야합니다

추신. 모든 것은 웹 설정에서와 같이 표시되어있는 것과 함께 디버그 모드에서 실행 중입니다. 내가 말했듯이 global.asax 파일이 없어도 문제가 없다고 말했기 때문에

답변

0

Application.Lock을 사용해야합니다. 또한 += -1은 홀수입니다. 해야 할 일 -= 1

Application.Lock() 
Application("concurentUsers") -= 1 
Application.UnLock() 

동시에 철자를 신경 쓰지 마십시오.

1

global.asax 및 global.asax.cs (있는 경우)의 전체 내용을 게시하십시오. 내 생각 엔 Global.asax 맨 위에있는 Application 지시문에는 컴파일러 지시문이나 동작을 일으키는 요소 (예 :/debug- 또는/debug : pdbonly로 인해이 동작이 발생할 수 있음)가 있다는 것입니다.

0

임시 ASP.NET 폴더를 지울 수 있습니다.

가끔 구성 문제가 발생합니다.

폴더를 삭제하지 말고 폴더의 내용을 삭제하십시오.

0

이 문제로 인해 여러 경우에 문제가 발생했습니다. 내가 찾은 것은 프로덕션을 진행하는 동안 "구성"을 활성 (디버그)에서 릴리스로 변경하고 고급 컴파일러 설정 창 (프로젝트 속성/컴파일/고급 컴파일 옵션)에서 "최적화 사용"옵션을 설정한다는 것입니다. 나중에 구성 유형을 다시 "활성 (디버그)"으로 설정하면 "최적화 사용"옵션의 선택을 취소하는 경향이 있습니다. 그 때 "최적화 활성화"또는 "디버그 정보없이"오류 메시지가 나타납니다. 과거에는 필자가 항상 "디버그 정보가 없다"라는 질문에 답을 얻지 못했습니다.

따라서 짧은 대답은 "최적화 사용"옵션이 선택 취소되어 있고 고급 컴파일러 설정에서 "디버그 정보 생성 :"이 전체 또는 pbd 전용으로 설정되어 있는지 확인하십시오.

HTH,

제임스.

관련 문제