Krav: Projektet behöver referera till många tredjeparts-SDK:er, och några av dem kommer att referera till vanliga DLL:er (såsom :Newtonsoft.Json.dll), vilket gör att hela projektet refererar till olika versioner av samma DLL, och projektet kommer bara att exportera en fil med samma DLL-kompilerade resultat.
Enkla problem med DLL-versionens beroende kan refereras nedan:
Hänvisning:Inloggningen med hyperlänken är synlig.
Om den refererade DLL:en inte bara är av en annan version, utan också av publicKeyToken, hur bör den lösas? I fallet med Newtonsoft.Json.dll refererar projektet till en fil med en annan version och publicKeyToken.
- Newtonsoft.Json.dll,version:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed - Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null
En enkel referensomdirigeringsinställning löser inte problemet, konfigurationen är följande:
När du anropar en tredjeparts SDK-metod som är beroende av Newtonsoft.Json version 4.0.0.0 får du följande fel:
Misslyckades med att ladda filen eller assembleren "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" eller någon av dess beroenden. Definitionen av found assembly manifest stämmer inte överens med monteringsreferensen. (Undantag från HRESULT:0x80131040) Lösning: Skapa en ny JSON4-mapp under bin-katalogen, placera versionen av Newtonsoft.Json.dll 4.0.0.0 under denna mapp och ändra konfigurationen enligt följande:
(Slut)
|