신비한 시스템 해결 asp.net webforms에서 missingmethodexception
무서운 system.missingMethodexception
는 .NET 개발에서 실망스러운로드 블록이 될 수 있습니다. 특히 누락 된 메소드가 동일한 클래스 내에 명확하게 존재할 때. 이것은 종종 asp.net webforms 응용 프로그램에서 발생하여 개발자가 머리를 긁어냅니다.
dothis
메소드, myHandler
클래스에 겉보기에 존재하는 시나리오를 검토하겠습니다.
public class MyHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// Throws System.MissingMethodException: Method not found.
this.DoThis();
}
public void DoThis() { ... }
}
범인 : 충돌하는 어셈블리
근본 원인은 종종 남아 있고 오래된 어셈블리에 있습니다. 배포 경로 어딘가에 숨어있는 이전 버전의 DLL 버전은 충돌을 일으켜 런타임이 잘못된 버전을로드하여 예상 방법을 찾지 못할 수 있습니다.
솔루션 : 깨끗한 재건 및 재배치
이 문제를 해결하려면 철저한 정리가 필요합니다.
모든 빌드 아티팩트를 완전히 제거하십시오. 이것은 이전 빌드의 잔재를 방해하지 않습니다.
전체 솔루션을 재건 :
응용 프로그램을 재배치합니다. 파일을 깨끗하게 덮어 쓰기 위해 배포 프로세스에 세심한주의를 기울이십시오.
이 단계를 수행함으로써 구식 어셈블리의 남아있는 효과를 효과적으로 제거하여 WebForms 애플리케이션이 올바르게 작동하고 System.MissingMethodeXception .
를 피할 수 있습니다.부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3