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:
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)
|