"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 내 asp.net webforms 응용 프로그램이 시스템을 던지는 이유는 무엇입니까?

내 asp.net webforms 응용 프로그램이 시스템을 던지는 이유는 무엇입니까?

2025-03-24에 게시되었습니다
검색:815

Why Does My ASP.NET WebForms Application Throw a System.MissingMethodException, Even Though the Method Exists?

신비한 시스템 해결 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 버전은 충돌을 일으켜 런타임이 잘못된 버전을로드하여 예상 방법을 찾지 못할 수 있습니다.

솔루션 : 깨끗한 재건 및 재배치

이 문제를 해결하려면 철저한 정리가 필요합니다.

  1. 모든 빌드 아티팩트를 완전히 제거하십시오. 이것은 이전 빌드의 잔재를 방해하지 않습니다. 전체 솔루션을 재건 :

    새로운 빌드는 최신 코드가 올바르게 컴파일되고 포장되어 있음을 보장합니다.
  2. 응용 프로그램을 재배치합니다. 파일을 깨끗하게 덮어 쓰기 위해 배포 프로세스에 세심한주의를 기울이십시오.

  3. 이 단계를 수행함으로써 구식 어셈블리의 남아있는 효과를 효과적으로 제거하여 WebForms 애플리케이션이 올바르게 작동하고 System.MissingMethodeXception .

    를 피할 수 있습니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3