Požiadavky: Projekt musí odkazovať na mnoho SDK tretích strán, pričom niektoré z nich budú odkazovať na bežne používané DLL (napríklad :Newtonsoft.Json.dll), čo spôsobí, že celý projekt bude odkazovať na rôzne verzie toho istého DLL a projekt vygeneruje len jeden súbor s rovnakými DLL skompilovanými výsledkami.
Jednoduché problémy so závislosťou DLL verzií možno uviesť nižšie:
Referencia:Prihlásenie na hypertextový odkaz je viditeľné.
Ak je odkazovaná DLL nielen inej verzie, ale aj publicKeyTokenu, ako by sa mala vyriešiť? V prípade Newtonsoft.Json.dll projekt odkazuje na súbor s inou verziou a publicKeyToken.
- Newtonsoft.Json.dll,version:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed - Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null
Jednoduché nastavenie presmerovania referencií problém nevyrieši, konfigurácia je nasledovná:
Keď zavoláte SDK metódu tretej strany, ktorá závisí od verzie Newtonsoft.Json 4.0.0.0, dostanete nasledujúcu chybu:
Nepodarilo sa načítať súbor alebo assembler "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" alebo jednu z jeho závislostí. Definícia nájdeného manifestu assembly nezodpovedá referencii na assembler. (Výnimka z HRESULT:0x80131040) Riešenie: Vytvorte nový priečinok JSON4 pod adresárom bin, vložte verziu Newtonsoft.Json.dll 4.0.0.0 do tohto priečinka a upravte konfiguráciu nasledovne:
(Koniec)
|