2012-04-19 2 views
0

에 내가있는 나는 다음과 같은 오류 메시지를 수신하고 asp.net 응용 프로그램이 오류 EnablePartialRendering 설정을 false로 설정했지만 도움이되지 않아서 오류가 정확히 같은 방식으로 표시되었습니다. System.InvalidCastException '형식의 첫째 예외'동안호출 대상이 예외가 throw되었습니다 InvalidCastException이를 App_Code.dll

'App_Code.iqmc5gba.dll에서 발생한'-이 :

내가 가진 유일한 단서는 디버그에 대한 출력 창에 나는이 메시지가 표시하고 있다는 점이다 이 오류는 App_Code 폴더에있는 코드 내에서 발생하고 있음을 나타냅니다. 나는 실제로 App_Code.iqmc5gba.nnn이라는 DLL의 내용에 기여하는 것처럼 보이는 211 개의 파일이 있기 때문에 더 현명하지 않습니다. cs 여기서 nnn은 0과210 사이의 숫자입니다.

오류가 발생하면 코드가 데이터를 가져 와서 formview에 레코드를 표시합니다. 오류는 데이터베이스에서 현재 볼 수있는 하나의 레코드에서만 발생합니다.

누구든지 invalidcastexception이 발생한 지점에서 실행되는 코드 줄을 식별하는 데 사용할 수있는 기술을 알고 있습니까?

+5

InnerException 스택 추적을 읽습니다. – SLaks

답변

1

일반적으로 데이터를 읽을 때 (예 : datareader를 사용하여) 발생하며 특정 값이 적어도 일부 값을 가질 것으로 예상되는 경우 특정 열이 null로 돌아옵니다. 이 코드를 고려하십시오 : 어떤 이유로 결과 세트가 age 열에 null 값이 포함 된 경우

int age = (int)reader["age"]; //will throw ClassCastException if null 

reader["age"]에 의해 개최 값은 정수 아니라 다른 유형 인 DBNull.Value되지 않습니다; 이 때문에 ClassCastException가 발생합니다.

소스 코드에 액세스 할 수없는 경우 나쁜 레코드와 좋은 레코드를 비교하고 두 레코드의 해당 열에 값이 있는지 확인하는 것이 가장 좋습니다.

0

동일한 문제가있었습니다. 문제를 해결했지만 이카루스가 정확한 경로에 있는지 확실하지 않습니다. 내가 찾은 것은 계정 생성을위한 보안 질문을 설정해야하는 경우가 있다는 것입니다. VS2012의 Project Tab 아래에서 ASP.Net Config를 열어서이 문제를 해결했습니다. 제공자 탭을 클릭하고 사이트 관리를 위해 제공자를 선택하십시오 (제 경우에는 단일). 활성 상태에서 연결을 테스트하면 새 사용자를 추가하기 위해 돌아 가면 보안 질문과 대답을 입력 할 수있는 옵션이 표시됩니다. 이것은 문제를 해결하는 것 같습니다.

관련 문제