Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 5752|Απάντηση: 3

[Πηγή] [Πρακτική λειτουργία] Συγκρούσεις μεταξύ αναφοράς σε διαφορετικές εκδόσεις DLL που βασίζονται σε ανακατευθύνσεις

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2022-10-22 10:03:33 | | | |
Απαιτήσεις: Το έργο πρέπει να αναφέρεται σε πολλά SDK τρίτων και ορισμένα από αυτά θα αναφέρονται σε ορισμένα DLL που χρησιμοποιούνται συνήθως (όπως το :Newtonsoft.Json.dll), γεγονός που θα κάνει ολόκληρο το έργο να αναφέρεται σε διαφορετικές εκδόσεις του ίδιου DLL και το έργο θα εξάγει μόνο ένα αρχείο με τα ίδια μεταγλωττισμένα αποτελέσματα DLL.

Απλά ζητήματα εξάρτησης έκδοσης DLL μπορούν να αναφερθούν παρακάτω:

.net/c# αναφορά dll επίλυση διενέξεων εκδόσεων
https://www.itsvse.com/thread-4818-1-1.html
Αναφορά:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Εάν το αναφερόμενο DLL δεν είναι μόνο διαφορετικής έκδοσης, αλλά και του publicKeyToken, πώς πρέπει να λυθεί; Στην περίπτωση του Newtonsoft.Json.dll, το έργο αναφέρεται σε ένα αρχείο με διαφορετική έκδοση και publicKeyToken.



- Newtonsoft.Json.dll,έκδοση:12.0.0.0,publicKeyToken:30ad4fe6b2a6aeed
- Newtonsoft.Json.dll,έκδοση:4.0.0.0,publicKeyToken:null

Μια απλή ρύθμιση ανακατεύθυνσης αναφοράς δεν λύνει το πρόβλημα, η διαμόρφωση είναι η εξής:

Όταν καλείτε μια μέθοδο SDK άλλου κατασκευαστή που εξαρτάται από την έκδοση 4.0.0.0 του Newtonsoft.Json, θα λάβετε το ακόλουθο σφάλμα:

Απέτυχε η φόρτωση του αρχείου ή της συγκρότησης "Newtonsoft.Json, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" ή μία από τις εξαρτήσεις του. Ο ορισμός της δήλωσης συγκρότησης που βρέθηκε δεν ταιριάζει με την αναφορά συγκρότησης. (Εξαίρεση από το HRESULT:0x80131040)
Λύση: Δημιουργήστε έναν νέο φάκελο JSON4 κάτω από τον κατάλογο bin, τοποθετήστε την έκδοση του Newtonsoft.Json.dll 4.0.0.0 σε αυτόν τον φάκελο και τροποποιήστε τη διαμόρφωση ως εξής:

(Τέλος)





Προηγούμενος:[Πραγματική μάχη]. Το NET/C# υλοποιεί αντίγραφα ασφαλείας της βάσης δεδομένων MySQL με βάση MySqlBackup.NET
Επόμενος:【Πρακτική μάχη】 Δημιουργία υπηρεσιών λήψης Thunder και DLNA για Home Media Docker
Δημοσιεύτηκε στις 2022-10-22 12:02:36 |
Μαθαίνω να μαθαίνω
Δημοσιεύτηκε στις 2022-10-24 10:59:38 |
Αυτό το κόλπο λειτουργεί, με ενοχλεί η Newtonsoft.Json.dll των 4.0 και 6.0
Δημοσιεύτηκε στις 2022-11-12 13:08:42 |
Μαθαίνω να μαθαίνω
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com