Požadavky: Projekt musí odkazovat na mnoho SDK třetích stran a některé z nich budou odkazovat na běžně používané DLL (například :Newtonsoft.Json.dll), což způsobí, že celý projekt bude odkazovat na různé verze stejného DLL a projekt vygeneruje pouze jeden soubor se stejnými výsledky zkompilovanými DLL.
Jednoduché problémy s závislostí DLL verzí lze znázornit níže:
Odkaz:Přihlášení k hypertextovému odkazu je viditelné.
Pokud je odkazovaná DLL nejen jiné verze, ale také veřejnéKeyTokenu, jak by měla být vyřešena? V případě Newtonsoft.Json.dll projekt odkazuje na soubor s jinou verzí a publicKeyToken.
- Newtonsoft.Json.dll,version:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed - Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null
Jednoduché nastavení přesměrování odkazů problém nevyřeší, konfigurace je následující:
Když zavoláte SDK metodu třetí strany, která závisí na Newtonsoft.Json verzi 4.0.0.0, dostanete následující chybu:
Nepodařilo se načíst soubor nebo assembler "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" ani jednu z jeho závislostí. Definice nalezeného assemblerového manifestu neodpovídá odkazu na assembler. (Výjimka z HRESULT:0x80131040) Řešení: Vytvořte novou složku JSON4 pod adresářem binů, umístěte verzi Newtonsoft.Json.dll 4.0.0.0 do této složky a upravte konfiguraci následovně:
(Konec)
|