System.MissingMethodException: Method not found:
'System.Collections.Generic.List`1<!!0>
BusinessEntities.Helper.Sort(System.Func`2<!!0,!!0>)'
의 정렬 확장 메서드를 들어, System.MissingMethodException 얻기. IIS에서 빌드를 배포하고 페이지를 실행할 때 위의 오류가 발생합니다. Visual Studio에서 웹 사이트를 디버그 모드로 실행하면 정상적으로 실행됩니다.나는 비주얼 스튜디오 웹 배포 프로젝트를 이용하여 제조 된 website.The 웹 사이트 구축의 페이지에이 오류가 일반적인 목록
배경 : .NET 3.5 클래스 라이브러리 프로젝트 인 BusinessEntities 프로젝트를 참조하는 asp.net 4.0 웹 사이트가 있습니다. 프로젝트에는 개체의 일반적인 목록을 정렬하기위한 정렬 메서드 Sort가있는 공용 정적 Helper 클래스가 포함되어 있습니다. Helper 클래스는 BusinessEntities 네임 스페이스에 있습니다.
BusinessEntites 프로젝트의 버전을 .Net 4.0으로 변경 한 다음 웹 사이트를 빌드하면이 오류가 발생하지 않습니다. 일부 운영 제한으로 인해 프로젝트를 4.0으로 업그레이드 할 수 없습니다.
이상한 점은 일반적인 확장 방법과 웹 사이트 및 프로젝트 구조가 아무런 문제없이 1 년 이상 솔루션으로 사용되었다는 것입니다. 나는이 오류가 갑자기 왜 튀어 나오는 지 이해하지 못하고있다.
웹 사이트에는 BusinessEntities 프로젝트에 대한 프로젝트 참조가 있습니다. BusinessEntities.dll의 datetime 스탬프를 확인하고 프로젝트의 현재 타임 스탬프와 일치시킵니다. 나는 심지어 프로젝트 빌드에서 최신 dll을 웹 사이트 빌드로 바꾸려고 시도했다. 아직도 didnt 한 일. 빌드에 같은 이름을 가진 다른 dll은 없습니다. 페이지에서 정렬 방법을 주석 처리하면 문제없이 작동합니다. 즉, BusinessEntites 프로젝트의 다른 클래스는 빌드에서 액세스 할 수 있습니다. 또한, 왜 프로젝트 타겟 프레임 워크를 4.0으로 변경할 때이 문제가 발생하지 않는지 궁금합니다. – drj
모든 참조, dll 및 다시 컴파일을 시도 했습니까? 혹시 DLL이 GAC에있을 수 있습니까? –
예, 삭제, 청소 및 재구성을 시도했습니다. GAC에 프로젝트 DLL을 추가하지 않았습니다. 그러나 GAC에서 확인하기 만하면됩니다. 임시 asp.net 파일을 삭제하려고 시도했습니다. – drj