Απαιτήσεις: Το έργο πρέπει να αναφέρεται σε πολλά SDK τρίτων και ορισμένα από αυτά θα αναφέρονται σε ορισμένα DLL που χρησιμοποιούνται συνήθως (όπως το :Newtonsoft.Json.dll), γεγονός που θα κάνει ολόκληρο το έργο να αναφέρεται σε διαφορετικές εκδόσεις του ίδιου DLL και το έργο θα εξάγει μόνο ένα αρχείο με τα ίδια μεταγλωττισμένα αποτελέσματα DLL.
Απλά ζητήματα εξάρτησης έκδοσης DLL μπορούν να αναφερθούν παρακάτω:
Αναφορά:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Εάν το αναφερόμενο 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 σε αυτόν τον φάκελο και τροποποιήστε τη διαμόρφωση ως εξής:
(Τέλος)
|