Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 5752|Répondre: 3

[Source] [Opération pratique] Conflits entre la référence à différentes versions de DLL qui dépendent de redirections

[Copié le lien]
Publié le 22-10-2022 à 10:03:33 | | | |
Exigences : Le projet doit référencer de nombreux SDK tiers, et certains d’entre eux référencent des DLL couramment utilisées (comme :Newtonsoft.Json.dll), ce qui fera que l’ensemble du projet fera référence à différentes versions de la même DLL, et le projet ne produira qu’un seul fichier avec les mêmes résultats compilés DLL.

Des problèmes simples de dépendance de version des DLL peuvent être référencés ci-dessous :

Résolution des conflits de la version DLL de référence .net/c#
https://www.itsvse.com/thread-4818-1-1.html
Référence:La connexion hyperlientérée est visible.

Si la DLL référencée n’est pas seulement d’une version différente, mais aussi du publicKeyToken, comment cela devrait-il être résolu ? Dans le cas de Newtonsoft.Json.dll, le projet fait référence à un fichier avec une version différente et publicKeyToken.



- Newtonsoft.Json.dll, version : 12.0.0.0,publicKeyToken : 30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,version :4.0.0.0,publicKeyToken :null

Un simple réglage de redirection de référence ne résout pas le problème, la configuration est la suivante :

Lorsque vous appelez une méthode SDK tierce qui dépend de Newtonsoft.Json version 4.0.0.0, vous obtiendrez l’erreur suivante :

Échec de charger le fichier ou l’assembleur « Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null » ou l’une de ses dépendances. La définition du manifeste d’assemblage trouvée ne correspond pas à la référence d’assemblage. (Exception à HRESULT :0x80131040)
Solution : Créer un nouveau dossier JSON4 sous le répertoire bin, placer la version de Newtonsoft.Json.dll 4.0.0.0 sous ce dossier, et modifier la configuration comme suit :

(Fin)





Précédent:[Combat réel]. NET/C# implémente des sauvegardes de bases de données MySQL basées sur MySqlBackup.NET
Prochain:【Combat Pratique】Téléchargement Build Thunder et Services DLNA pour Docker Média Domestique
Publié le 22-10-2022 à 12:02:36 |
Apprendre à apprendre
Publié le 2022-10-24 à 10:59:38 |
Cette astuce fonctionne, les Newtonsoft.Json.dll de 4.0 et 6.0 me dérangent
Publié le 12-11-2022 à 13:08:42 |
Apprendre à apprendre
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com