"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que meu aplicativo ASP.NET WebForms joga um System.MissingMethodException, mesmo que o método exista?

Por que meu aplicativo ASP.NET WebForms joga um System.MissingMethodException, mesmo que o método exista?

Postado em 2025-03-24
Navegar:585

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

Resolvendo o Mysterious System.MissingMethodException em ASP.NET WebForms

O temido System.MissingMethodException pode ser um obstáculo frustrante no desenvolvimento do .NET, especialmente quando o método ausente existe claramente dentro da mesma classe. Isso geralmente acontece nos aplicativos ASP.NET WebForms, deixando os desenvolvedores coçando a cabeça.

Vamos examinar um cenário em que o método Dothis , aparentemente presente na classe MyHandler , inexplicavelmente desencadeia esta exceção:

public class MyHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
      // Throws System.MissingMethodException: Method not found.
      this.DoThis(); 
    }

    public void DoThis() { ... }
}

The Culprit: Assemblies conflitantes

A causa raiz freqüentemente está em assemblies persistentes e desatualizados. Uma versão mais antiga da DLL, à espreita em algum lugar do seu caminho de implantação, pode criar um conflito, fazendo com que o tempo de execução carregue a versão incorreta e, portanto, não encontre o método esperado.

a solução: uma reconstrução limpa e reimplement

Para resolver esse problema, é necessária uma limpeza completa:

  1. remova completamente todos os artefatos de construção: excluem as pastas bin e obj em seus diretórios de projeto e solução. Isso garante que nenhum remanescente de compilações anteriores interfre.

  2. reconstruir toda a solução: Uma nova compilação garante que o código mais recente seja compilado e embalado corretamente.

  3. reimplema o aplicativo: Esta etapa garante que os assemblies atualizados substituam completamente os desatualizados no servidor. Preste muita atenção ao seu processo de implantação para garantir uma substituição limpa dos arquivos.

Seguindo estas etapas, você efetivamente elimina os efeitos remanescentes dos conjuntos antigos, permitindo que seu aplicativo WebForms funcione corretamente e evite o System.MissingMethodException .

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3