Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 5752|Odpowiedź: 3

[Źródło] [Praktyczna Operacja] Konflikty między odniesieniem do różnych wersji DLL opierających się na przekierowaniach

[Skopiuj link]
Opublikowano 2022-10-22 10:03:33 | | | |
Wymagania: Projekt musi odwoływać się do wielu SDK firm trzecich, a niektóre z nich będą odwoływać się do powszechnie używanych DLL (takich jak :Newtonsoft.Json.dll), co powoduje, że cały projekt będzie odwoływał się do różnych wersji tego samego DLL, a projekt wygeneruje tylko jeden plik z tymi samymi wynikami skompilowanymi przez DLL.

Proste problemy z zależnością wersji DLL można omówić poniżej:

.net/c# odniesienie do wersji DLL – rozwiązywanie konfliktów
https://www.itsvse.com/thread-4818-1-1.html
Odniesienie:Logowanie do linku jest widoczne.

Jeśli wspomniana DLL jest nie tylko innej wersji, ale także publicKeyToken, jak powinno się to rozwiązać? W przypadku Newtonsoft.Json.dll projekt odnosi się do pliku o innej wersji i publicKeyToken.



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

Proste ustawienie przekierowania odniesienia nie rozwiązuje problemu, konfiguracja wygląda następująco:

Gdy wywołasz metodę SDK firm trzecich, która opiera się na wersji Newtonsoft.Json 4.0.0.0, otrzymasz następujący błąd:

Nie udało się załadować pliku lub asemblera "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" ani jednej z jego zależności. Definicja znalezionego manifestu asemplarza nie odpowiada referencji do asemblera. (Wyjątek od HRESULT:0x80131040)
Rozwiązanie: Utwórz nowy folder JSON4 w katalogu bin, umieść wersję Newtonsoft.Json.dll 4.0.0.0 w tym folderze i zmodyfikuj konfigurację w następujący sposób:

(Koniec)





Poprzedni:[Rzeczywista walka]. NET/C# implementuje kopie zapasowe bazy MySQL oparte na MySqlBackup.NET
Następny:【Praktyczna walka】Zbuduj Thunder Download, usługi DLNA dla Home Media Docker
Opublikowano 2022-10-22 12:02:36 |
Naucz się uczyć
Opublikowano 2022-10-24 10:59:38 |
Ten trik działa, ale przeszkadza mi Newtonsoft.Json.dll 4.0 i 6.0
Opublikowano 2022-11-12 13:08:42 |
Naucz się uczyć
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com