문제

'x'유형은 참조되지 않은 어셈블리에 정의됩니다. 어셈블리 'ABC123'에 대한 참조를 추가해야합니다.

내 어셈블리 'ABC123'을 참조하는 .NET 2.0 웹 응용 프로그램이 있습니다. 어셈블리는 GAC에 존재하며 올바른 (동일한) 버전임을 확인했습니다. 나머지 응용 프로그램에는 .aspx 페이지를 제외하고는 문제가 없습니다. 해당 페이지에는 사용자 컨트롤을 "필드"중 하나로 표시하는 리피터가 있습니다. 유형 y 목록을 리피터에 바인딩하면 여기에 표시된대로 사용자 제어 X (y의 속성) 목록을 통과합니다.

<uc1:usercontrol id="ucusercontrol " runat="server" myPublicUserControlProperty='<%#Eval("CollectionOfX") %>'/>

사용자 컨트롤의 속성 세트에서 유형 X 목록을 사용자 컨트롤의 그리드 뷰에 바인딩합니다.

주목할만한 점은이 보고서가 개발 PC에서 잘 작동하지만 배포되면 서버에서는 잘 작동하지 않는다는 것입니다. 내 PC는 Windows XP, IIS6, vs2005입니다. 서버는 Windows Server 2003, IIS6입니다.

나는 그것을 충분히 설명하기를 바랍니다. 제공 할 수있는 통찰력에 미리 감사드립니다.

도움이 되었습니까?

해결책

저는 Mike의 동료이며 솔루션을 해결했습니다.

유형 X는 그의 어셈블리에 정의되어 있으며 GAC에만 정의됩니다. 그의 ASP.NET 웹 애플리케이션에는 참조가 있었지만이 USERControl에 대해서만 GAC에서로드하지 못했습니다. 응용 프로그램의 나머지 부분은 예상대로 작동했습니다. 우리는 BIN 디렉토리에 어셈블리 사본을 배치하여 실패한 로딩을 확인했으며 모든 것이 효과가있었습니다. 우리는 어셈블리를 제거했고 문제가 돌아 왔습니다.

우리의 솔루션은 어셈블리 섹션의 web.config에 수동으로 항목을 추가하여 asp.net을 GAC에 가리키는 것입니다.

페이지에서 유형을 참조 할 때마다 (코드-비만이 아님) Web.config 파일 또는 페이지 지시에 정의 된 어셈블리 정보가 필요합니다.

<assemblies>
        <add assembly="MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=[MyPublicKeyToken]"/>   
</assemblies>

다른 팁

비슷한 증상으로 나타날 수있는 버그도 있습니다. 여기.

해결 방법은 c : windows microsoft.net framework v2.0.50727 temporary asp.net files directory에서 모든 것을 삭제하는 것이며 디버그 모드에서만 나타나는 것 같습니다.

이러한 유형의 문제를 해결할 때 퓨전 로그 뷰어 항상 큰 도움이되었습니다.

나는 그것을 발견했다 type x 실제로 당신의 수업입니다 App_Code, 더러워지고 다시 절약하면 종종 웹 앱이 다시 컴파일하고 문제를 해결합니다.

종종 캐시 된 어셈블리 때문입니다. 이 문제를 해결하는 한 가지 방법은 PROJ 또는 구성 파일에서 "강한 참조"를 만드는 것입니다. 이 블로그를 참조하십시오 게시하다

나는 똑같은 오류가 있었지만 공공의 내 수업에서 다른 프로젝트의 객체 인 매개 변수로 사용 된 생성자.

해당 생성자를 내부로 만들어 문제를 해결했습니다.

나에게 그것은 버전 제어 풀 문제였습니다.

Visual Studio에서 솔루션 탐색기에서 "참조"를 열고 스크롤하십시오.

노란색 경고 삼각형이 있으면 이름을 기억하고 제거한 다음 다시 추가하십시오 (또는 Resharper가 귀하를 위해 수행하십시오).

동료가 새로운 패키지와 참조를 추가했을 때 프로젝트를 시작한 후 여러 번 나에게 일어났다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top