Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 5752|Odpověď: 3

[Zdroj] [Praktické použití] Konflikty mezi odkazováním na různé verze DLL, které spoléhají na přesměrování

[Kopírovat odkaz]
Zveřejněno 2022-10-22 10:03:33 | | | |
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:

.NET/C# Reference DLL verze řešení konfliktů
https://www.itsvse.com/thread-4818-1-1.html
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)





Předchozí:[Skutečný boj]. NET/C# implementuje zálohy MySQL databáze založené na MySqlBackup.NET
Další:【Praktický boj】Build Thunder Download and DLNA služby pro domácí mediální docker
Zveřejněno 2022-10-22 12:02:36 |
Učte se učit
Zveřejněno 2022-10-24 10:59:38 |
Tento trik funguje, vadí mi Newtonsoft.Json.dll 4.0 a 6.0
Zveřejněno 12. 11. 2022 13:08:42 |
Učte se učit
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com