Erreur TypeLoadException : implémentation manquante de la méthode malgré son existence
Rencontrer un System.TypeLoadException
indiquant qu'une méthode (par exemple, 'SetShort') dans un type (par exemple, 'DummyItem') n'a pas d'implémentation, même si la méthode existe, est un problème courant résultant de non-concordances de versions d'assembly.
Cela se produit souvent lorsqu'une classe implémente une interface à partir d'un assembly séparé. Si vous ajoutez la méthode à la fois à l'interface et à la classe d'implémentation, mais que vous recompilez l'assembly d'implémentation sans mettre à jour la référence à l'assembly d'interface le plus récent, le compilateur voit la méthode dans la classe, mais le runtime ne peut pas trouvez la définition d’interface correcte. La méthode existe, mais le lien est rompu.
La solution est une reconstruction complète. Nettoyez soigneusement les dossiers bin
et obj
de votre projet, puis reconstruisez l'intégralité de votre solution. Cela force une actualisation de toutes les références d'assembly, garantissant que chaque assembly utilise les versions correctes et mises à jour de ses dépendances, résolvant ainsi le conflit de version.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!