Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 5752|Válasz: 3

[Forrás] [Gyakorlati művelet] Ellentétek a különböző DLL-verziók között, amelyek átirányításra támaszkodnak

[Linket másol]
Közzétéve: 2022-10-22 10:03:33 | | | |
Követelmények: A projektnek sok harmadik féltől származó SDK-ra kell hivatkoznia, és néhány közülük néhány gyakran használt DLL-re (például :Newtonsoft.Json.dll-re hivatkozik), ami miatt az egész projekt ugyanazon DLL különböző verzióira hivatkozik, és a projekt csak egy fájlt ad ki ugyanazzal a DLL lefordított eredménnyel.

Az egyszerű DLL verziófüggőségi problémákat az alábbiakban lehet bemutatni:

.net/c# hivatkozás dll verzió konfliktusmegoldás
https://www.itsvse.com/thread-4818-1-1.html
Utalás:A hiperlink bejelentkezés látható.

Ha a hivatkozott DLL nemcsak egy másik verzióból származik, hanem a publicKeyToken is, hogyan kellene ezt megoldani? Newtonsoft.Json.dll esetében a projekt egy másik verziójú fájlra hivatkozik és publicKeyToken-re hivatkozik.



- Newtonsoft.Json.dll,version:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,version:4.0.0.0,publicKeyToken:null

Egy egyszerű referencia-átirányítási beállítás nem oldja meg a problémát, a konfiguráció a következő:

Ha egy harmadik féltől származó SDK módszert hívsz, amely a Newtonsoft.Json 4.0.0.0-s verzióra épül, a következő hibát kapod:

Nem sikerült betölteni a fájlt vagy assembly "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" vagy valamelyik függőségét. A talált assembly manifest definíciója nem egyezik az assembly hivatkozással. (Kivétel a HRESULT:0x80131040)
Megoldás: Hozz létre egy új JSON4 mappát a bin könyvtárban, helyezd el a Newtonsoft.Json.dll 4.0.0.0 verziót ebben a mappában, és módosítsuk a konfigurációt a következőként:

(Vége)





Előző:[Valódi harc]. A NET/C# MySQL adatbázis biztonsági mentéseket valósít meg MySqlBackup.NET
Következő:【Practical Combat】Build Thunder Download és DLNA Services for Home Media Docker
Közzétéve: 2022-10-22 12:02:36 |
Tanulj meg
Közzétéve: 2022-10-24 10:59:38 |
Ez a trükk működik, engem zavar a 4.0 és 6.0 Newtonsoft.Json.dll
Közzétéve: 2022-11-12 13:08:42 |
Tanulj meg
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com