2008-09-17 6 views
5

좋아요, 이것은 나를 미치게 만듭니다. 나는 asp.net webapp있다. 매우 간단하고 .aspx.vb의 대부분의 코드와 App_Code의 몇 가지 클래스.오류 BC30002 - 유형 XXX가 정의되지 않았습니다.

오류 BC30002 :

(대부분의 코드가 이미 작성되었다하더라도) 오늘이 발생하기 시작했다 문제, 한 번에 한 동안, 나는이 오류 메시지가 있다는 것입니다 유형 ' XXX '이 정의되지 않았습니다.

오류는 App_Code 폴더의 파일을 수정할 때마다 발생합니다. 편집 : 좋아, 내가 잠시 동안 아무것도 터치하지 않은 다음 페이지를 새로 고치려면이 또한 발생합니다. 나는 아직도이 오류를 유발하는 방법을 정확하게 파악하려고 노력하고있다.

아무 것도 건드리지 않고 잠시 기다린 다음 페이지를 새로 고침하면 작동하지만 매우 성가시다.

그래서 조금씩 검색했지만 누락 된 가져 오기를 제외하고는 아무 것도 나왔습니다. 어떤 생각?

답변

4

문제가 있다고 생각합니다.

내 코드는 같았다 :

Imports CMS 

Sub Whatever() 
    Dim a as new Arbo.MyObject() ' Arbo is a namespace inside CMS 
    Dim b as new Util.MyOtherObject() ' Util is a namespace inside Util 
End Sub 

내가 그렇게 쓴 이유는 잘 모르겠지만, 그것은 하나가 자신의 전체 네임 스페이스를 호출하거나 전체 네임 스페이스를 가져 오지 않고 내가 클래스를 호출 한 사실을 밝혀 오류가 발생했습니다.

Imports CMS.Arbo 
Imports CMS.Util 

Sub Whatever() 
    Dim a as new MyObject() 
    Dim b as new MyOtherObject() 
End Sub 

을 그리고 지금은 내가 늙은 솔루션에 새 프로젝트를 추가 한 후이 나에게 무슨 일이 있었

4

특히 오류가 발생했다가 기다렸다가 사라지는 경우가 있기 때문에 사전 컴파일 문제와 유사합니다. ASP.NET은 여전히 ​​응용 프로그램을 동적으로 컴파일하는 과정에 있거나 다른 어셈블리로 형식을 컴파일했습니다.

동적 컴파일을 사용하면 동일한 어셈블리에 다른 코드 숨김 파일을 컴파일 할 수 있다고 보장 할 수 없습니다. 따라서 참조하는 형식이 미리 컴파일 된 어셈블리 내에서 해결되지 않을 수 있습니다.

"@Reference"지시문을 사용하여 런타임에 페이지와 사용자 유형이 포함 된 파일을 동일한 어셈블리로 컴파일해야 함을 나타냅니다. 이 웹 사이트 (응용 프로그램이 당신을 App_Code을 터치 아마 당신은 IIS가 비활성 X 분 후 웹 사이트를 종료하도록 구성한마다 재활용됩니다)를 회전 할 때마다 일이 같은

@ Reference - MSDN

0

는 소리.

나는 서버에 올바른 액세스 권한이없는 asp.net 작업자 프로세스와 관련이 있다고 생각한다. 그래서 어셈블리를로드하려고 시도하고 거부되었습니다.

Check this link 및 작업자 프로세스 계정이 기능을 수행하기 위해 액세스해야하는 모든 폴더 목록은 표 19.3을 참조하십시오. 그리고 가상 디렉터리에있는 모든 파일과 폴더에 권한을 부여하는 것을 잊지 마십시오!

0

... 작동합니다

나는이처럼 다시 썼다.다른 '이전 프로젝트'와 일치하도록 대상 프레임 워크를 낮 췄고 오류가 사라졌습니다.

관련 문제