Visual Studio로 ASP.NET 디버깅 중 System.Web.HttpException - Could not load type 오류
F5 디버깅 중 iisexpress를 recycle 시킬 때마다 다음과 같은 예외가 발생합니다.
System.Web.HttpException occurred
HResult=0x80004005
Message=Could not load type 'WebSiteTest.test_domain'.
Source=<Cannot evaluate the exception source>
Target Site 정보를 보면 TemplateParser 타입이 보입니다.
at System.Web.UI.TemplateParser.GetType(String typeName, Boolean ignoreCase, Boolean throwOnError)
at System.Web.UI.TemplateParser.ProcessInheritsAttribute(String baseTypeName, String codeFileBaseTypeName, String src, Assembly assembly)
이상한 점이 있다면, 해당 웹 애플리케이션에는 WebSiteTest.test_domain 타입이 없다는 것입니다. 혹시나 싶어서 "Find in Files"로 직접 웹 애플리케이션 폴더를 검색했는데 ^^; 당황스럽게도 test_domain.aspx 파일이 보입니다. 즉, 언젠가 한번 생성해 놓고 프로젝트로부터 삭제했지만 폴더에는 남아 있었던 것입니다.
문제는, asp.net이 최초 로딩될 때 .aspx 파일에 대해 전부 Template Parsing을 하기 때문에 발생합니다. 그 과정에서 test_domain.aspx의 CodeBehind에 정의된 타입을 발견할 수 없어 "Could not load type" 예외가 발생한 것입니다.
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]