Krav: Projektet skal referere til mange tredjeparts SDK'er, og nogle af dem vil referere til nogle almindeligt anvendte DLL'er (såsom :Newtonsoft.Json.dll), hvilket får hele projektet til at referere til forskellige versioner af den samme DLL, og projektet vil kun udskrive én fil med de samme DLL-kompilerede resultater.
Simple DLL-versionsafhængighedsproblemer kan refereres nedenfor:
Henvisning:Hyperlink-login er synlig.
Hvis den refererede DLL ikke kun er af en anden version, men også af publicKeyToken, hvordan bør den så løses? I tilfælde af Newtonsoft.Json.dll refererer projektet til en fil med en anden version og publicKeyToken.
- Newtonsoft.Json.dll,version:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed - Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null
En simpel reference redirect-indstilling løser ikke problemet, konfigurationen er som følger:
Når du kalder en tredjeparts SDK-metode, der er afhængig af Newtonsoft.Json version 4.0.0.0, får du følgende fejl:
Fejlede i at indlæse filen eller assemblyen "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" eller en af dens afhængigheder. Definitionen af found assembly manifest stemmer ikke overens med assembly-referencen. (Undtagelse fra HRESULT:0x80131040) Løsning: Opret en ny JSON4-mappe under bin-mappen, placer versionen af Newtonsoft.Json.dll 4.0.0.0 under denne mappe, og ændr konfigurationen som følger:
(Slut)
|