2011-04-20 2 views
2

Azure 1.4 SDK (이전에 동일한 문제가있는 1.3)를 사용하는 응용 프로그램이 있습니다. 전체 IIS로 응용 프로그램을 설치하려고하면 Intellitrace 로그에 다음 오류가 표시됩니다.Azure 전체 IIS 배포 문제 - TypeLoadException

System.TypeLoadException : 다음 예외로 인해 역할 진입 점을로드 할 수 없습니다. System.IO.FileLoadException : 파일 또는 어셈블리 'System.Web.Mvc, Version = 2.0.0.0..blah을로드 할 수 없습니다. .. 위치한 어셈블리 매니페스트가 어셈블리 참조와 일치하지 않습니다.

웹 사이트는 버전 2가 아닌 ASP.NET MVC 3을 사용하고 있습니다. 전체 IIS가 잘못된 버전의 DLL을 찾고있는 것처럼 보입니다. 프로젝트의 MVC dll을 Copy Local으로 설정하여 bin 디렉토리에 배포해야합니다.

ServiceDefinition.csdef의 섹션을 주석 처리하여 레거시 호스팅 웹 코어로 사이트를 배포하면 모든 사이트가 배포되어 제대로 작동합니다.

+0

해결 했습니까? 새로운 MVC 3 (6 월 2 일 Azure 도구가 설치됨) 릴리스부터 시작하면 동일한 문제가 발생합니다. –

답변

1

이것은 MVC2 응용 프로그램으로 만든 응용 프로그램이었고 나중에 MVC3으로 마이그레이션 한 것 같습니다. 맞습니까? 실패하는 이유는 MVC2와 MVC3을 모두 컴퓨터에 설치했기 때문입니다. 로컬에서 실행하면 응용 프로그램이 MVC2를 GAC에서로드합니다. Azure에 배포 할 때 MVC 2를 찾을 수 없습니다. 새 Deployment를 만들 때 얻는 기본 Azure 이미지에 MVC가 설치되어 있지 않기 때문입니다.

필자는 설정 파일을 점검하고 MVC 2.0에 대한 참조를 매우 자세히 살펴볼 것입니다. reference like this을보고 단계를 간과하지 않았는지 확인하십시오. 프로젝트 유형 guid를 변경하지 않았거나 설정 파일 중 하나를 누락했을 수 있습니다.

+0

감사합니다. 나는 치아 빗으로이 가이드를 통과했지만 문제는 지속됩니다. 또한 전체 IIS 모드와 레거시 모드에서 왜 문제가되는지 확신 할 수 없습니다. – Craig

관련 문제