Isunya:
Aplikasi ASP.NET Web Forms, sebelum ini berfungsi, kini menghasilkan ralat "System.MissingMethodException: Method not found" apabila memanggil kaedah DoThis
dalam pengendali generik.
Latar belakang:
DoThis
berada dalam kelas yang sama dengan pengendali generik.<code class="language-csharp">public class MyHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { // Now throws System.MissingMethodException: Method not found. this.DoThis(); } public void DoThis() { ... } }</code>
Penyelesaian:
Pengecualian ini biasanya timbul daripada konflik versi antara DLL yang mengandungi DoThis
dan DLL yang dirujuk aplikasi. Begini cara membetulkannya:
Bersihkan Fail Tersusun: Alih keluar semua fail daripada direktori ~/App_Code/bin
dan ~/bin/
. Ini memastikan tiada kod tersusun yang lapuk mengganggu.
Bina Semula dan Gunakan Semula: Lakukan binaan semula bersih penyelesaian anda dan gunakan semula pada pelayan anda. Ini menjamin penggunaan versi pemasangan yang paling terkini.
Hapuskan Perhimpunan Pendua: Semak sebarang perhimpunan pendua atau lebih lama yang berada dalam folder tersembunyi, seperti ~/bin/Debug
atau ~/bin/Release
. Alih keluar mana-mana versi yang tidak diperlukan atau lapuk.
Dengan mengikuti langkah-langkah ini, ralat "System.MissingMethodException: Method not found" harus diselesaikan, membolehkan aplikasi anda memanggil kaedah DoThis
dengan betul.
Atas ialah kandungan terperinci Mengapa Aplikasi Borang Web ASP.NET Saya Membuang 'System.MissingMethodException'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!