Nõuded: Projekt peab viitama paljudele kolmanda osapoole SDK-dele, millest mõned viitavad mõnele levinud DLL-ile (näiteks :Newtonsoft.Json.dll), mis paneb kogu projekti viitama sama DLL-i erinevatele versioonidele ning projekt väljastab ainult ühe faili samade DLL-i kompileeritud tulemustega.
Lihtsad DLL-versiooni sõltuvuse probleemid on toodud allpool:
Viide:Hüperlingi sisselogimine on nähtav.
Kui viidatud DLL ei ole mitte ainult teise versiooniga, vaid ka publicKeyTokeniga, kuidas peaks see lahendama? Newtonsoft.Json.dll puhul viitab projekt failile, millel on erinev versioon ja publicKeyToken.
- Newtonsoft.Json.dll,versioon:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed - Newtonsoft.Json.dll,versioon:4.0.0.0,publicKeyToken:null
Lihtne viite ümbersuunamise seadistus ei lahenda probleemi, konfiguratsioon on järgmine:
Kui kutsud kolmanda osapoole SDK meetodi, mis sõltub Newtonsoft.Json versioonist 4.0.0.0, saad järgmise veateate:
Faili või assembleri "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" või selle sõltuvuse laadimine ebaõnnestus. Leitud assamblee manifesti definitsioon ei ühti assamblee viitega. (Erand HRESULT:0x80131040) Lahendus: Loo uus JSON4 kaust bin kataloogi alla, aseta Newtonsoft.Json.dll versioon 4.0.0.0 selle kausta alla ja muuda konfiguratsiooni järgmiselt:
(Lõpp)
|