1 votes

Mono vs .NET mscorlib.dll | "method not found" (méthode non trouvée)

Ce cas concerne une application que je suis en train de concevoir. Voici l'exception lancée :

Exception non gérée :

System.MissingMethodException : Méthode > 'HashHelpers.IsWellKnownEqualityComparer' non trouvée.

Je rencontre cette erreur lorsque je tente d'exécuter une application .NET Framework 4.6.1 via Wine. J'ai trouvé ceci :

https://referencesource.microsoft.com/#mscorlib/system/collections/hashtable.cs,de3ba4873d4ad06a,references

...et cela m'a conduit à mscorlib.dll . J'ai vérifié, et il pourrait y avoir une certaine différence entre les .dll de .NET et celles de Mono. Quoi qu'il en soit, l'application essaie d'utiliser la dll de Mono et non la version .NET (ce qui peut être évident après une seconde ou deux).

Il semble que la solution particulière est de construire l'application à travers Mono si avoir une fonction multiplateforme est une priorité. Cependant, si quelqu'un n'a pas le code source de l'application, y a-t-il une autre solution ?

0voto

DaFuze Points 11

La solution était assez simple.

Les erreurs étaient :

J'ai fait écraser mscoree.dll en winecfg quand en installant les .NET Frameworks. De plus, j'avais Mono installé sur le préfixe Wine pendant l'installation des Frameworks.

Conclusion

Non En faisant ces choses une deuxième fois, l'application a fonctionné. J'ai également dû la lancer en utilisant la commande wineconsole si cela vaut la peine d'être mentionné (c'était une application console après tout).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X