2011-01-05 2 views
1

ASP .NET 2.0 웹 사이트를 WebRole (ASP.NET 4.0 및 VS2010)으로 마이그레이션하려고합니다. 새 웹 역할을 만든 후에는 웹 사이트의 모든 파일과 폴더를 WebRole로 이동 한 다음 필요한 모든 dll을 참조했습니다. 나는 웹 역할 독립 실행 형 및 문제없이 모든 것을 실행합니다. 오류가Windows Azure - 역할 엔트리 포인트를 만들 수 없습니다.

[fabric] Role state Stopping 
[fabric] Role state Stopped 
[fabric] Role state Aborted 
[fabric] Role state Teardown 
[fabric] Role state Destroyed 
[runtime] Role entrypoint could not be created: 
System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information. 
    at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) 
    at System.Reflection.Assembly.GetTypes() 
    at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CreateRoleEntryPoint(RoleType roleTypeEnum) 
    at Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.InitializeRoleInternal(RoleType roleTypeEnum) 

를 와서 상태가 그것은 해결하지만, 아무것도 찾을 수 없습니다 나에게 일이 소요

"작업이 취소되었습니다"아래하지만, 구축하고 WindowsAzureProject을 실행할 때. 모든 참조 dll에 대해 "로컬 복사"를 true로 설정했지만 효과가 없습니다. 방금 spring.core와 spring.aop이 오류를 일으켰다 고 생각했지만 디버깅하는 방법과 충돌하는 위치를 잡는 방법을 모르겠다.

이 경우 제발 도와주세요. 감사합니다. 가난한 영어에 대해 미안합니다.

답변

0

WebRole.cs 파일을 삭제 한 적이 있습니까?

+0

아니요, 아닙니다. 심지어 WebRole 클래스의 OnStart()에 중단 점을 넣었지만 거기로 이동하지 않습니다. –

1

이 문제를 디버그하는 가장 쉬운 방법은 배포를 위해 Intelitrace를 활성화하고 디버깅하는 것입니다. 이렇게하는 방법은 good post입니다. 또한 진단을 활성화하고 starup을 try catch에 래핑 한 후 로깅 할 수 있습니다. Intelitrace가 가장 좋은 방법입니다.

0

또 다른 주목할 점은 종속성의 종속성이 웹 역할에서 충족되어야하고 명시 적으로 참조되어야한다는 것입니다. 즉, 솔루션에서 dll이나 다른 프로젝트를 참조하는 경우 해당 프로젝트 또는 dll의 종속성을 포함해야합니다 CopyLocal이 true로 설정된 웹 역할 참조

이것은 Azure 패키지 도구가 종속성 트리를 검사하지 않기 때문에 첫 번째 참조 수준, 즉 역할의 참조 만 볼 것이므로 트리 아래쪽에있는 dll이 누락되어서 유형로드 예외.

Scott의 대답은 당신이 어떤 DLL이 없는지 찾는 데 도움이됩니다. 희망이 도움이됩니다.