Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 5752|Antwort: 3

[Quelle] [Praktischer Betrieb] Konflikte zwischen der Referenz auf verschiedene Versionen von DLLs, die auf Weiterleitungen angewiesen sind

[Link kopieren]
Veröffentlicht am 22.10.2022, 10:03:33 | | | |
Anforderungen: Das Projekt muss auf viele Drittanbieter-SDKs referenzieren, und einige davon beziehen sich auf gängige DLLs (wie :Newtonsoft.Json.dll), was dazu führt, dass das gesamte Projekt verschiedene Versionen derselben DLL referenziert, und das Projekt gibt nur eine Datei mit denselben kompilierten DLL-Ergebnissen aus.

Einfache Probleme mit der DLL-Versionsabhängigkeit können unten referenziert werden:

.net/c# Referenz auf DLL-Version Konfliktlösung
https://www.itsvse.com/thread-4818-1-1.html
Referenz:Der Hyperlink-Login ist sichtbar.

Wenn die referenzierte DLL nicht nur eine andere Version ist, sondern auch das publicKeyToken, wie sollte sie gelöst werden? Im Fall von Newtonsoft.Json.dll verweist das Projekt auf eine Datei mit einer anderen Version und publicKeyToken.



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

Eine einfache Referenz-Redirect-Einstellung löst das Problem nicht, die Konfiguration ist wie folgt:

Wenn Sie eine Drittanbieter-SDK-Methode aufrufen, die von Newtonsoft.Json Version 4.0.0.0 abhängt, erhalten Sie folgenden Fehler:

Die Datei oder Assembler "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" oder eine seiner Abhängigkeiten konnte nicht geladen werden. Die Definition des gefundenen Assemblierungsmanifests stimmt nicht mit der Assemblierungsreferenz überein. (Ausnahme von HRESULT:0x80131040)
Lösung: Erstellen Sie einen neuen JSON4-Ordner unter dem bin-Verzeichnis, legen Sie die Version von Newtonsoft.Json.dll 4.0.0.0 unter diesen Ordner und ändern Sie die Konfiguration wie folgt:

(Ende)





Vorhergehend:[Tatsächlicher Kampf]. NET/C# implementiert MySQL-Datenbank-Backups basierend auf MySqlBackup.NET
Nächster:【Praktischer Kampf】Bau Thunder Download und DLNA-Dienste für Heimmedien-Docker
Veröffentlicht am 22.10.2022, 12:02:36 |
Lernen lernen
Veröffentlicht am 24.10.2022, 10:59:38 |
Dieser Trick funktioniert, mich stören die Newtonsoft.Json.dll von 4.0 und 6.0
Veröffentlicht am 12.11.2022, 13:08:42 |
Lernen lernen
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com