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

Άποψη: 46998|Απάντηση: 2

[Πηγή] Το .NET δεν λαμβάνει την πλήρη συγκρότηση συγκροτήματος αναφοράς

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 22/8/2020 10:41:02 π.μ. | | | |
Χρήση. .NET για να λάβετε τη φορτωμένη συγκρότηση είναι ελλιπής, αν και αναφερόμαστε σε άλλες βιβλιοθήκες, αλλά χωρίς κλήση, δεν μπορεί να ληφθεί στη φορτωμένη διάταξη, αυτό το άρθρο μοιράζεται για να λάβετε την πλήρη συγκρότηση συναρμολόγησης σε WinForm και ASP.NET.

Εισαγωγή

Χρήση. .NET για να λάβετε τη φορτωμένη συγκρότηση είναι ελλιπής, αν και αναφερόμαστε σε άλλες βιβλιοθήκες, αλλά χωρίς κλήση, δεν μπορεί να ληφθεί στη φορτωμένη διάταξη, αυτό το άρθρο μοιράζεται για να λάβετε την πλήρη συγκρότηση συναρμολόγησης σε WinForm και ASP.NET.

ASP.NET (χωρίς μέτρηση)

Το .NET Framework αναβάλλει τη φόρτωση συγκροτήσεων στο τρέχον AppDomain μέχρι να χρειαστούν. Για παράδειγμα, εάν καλέσετε μόνο μια βιβλιοθήκη άλλου κατασκευαστή από το SomeMethod(), το DLL άλλου κατασκευαστή συνήθως δεν θα φορτωθεί μέχρι την πρώτη εκτέλεση του SomeMethod().

Το AppDomain.GetAssemblies() σάς παρέχει όλες τις συγκροτήσεις που έχουν φορτωθεί στο τρέχον AppDomain. BuildManager.GetReferencedAssemblies() επιστρέφει μια λίστα με όλες τις συγκροτήσεις που αναφέρονται από το Web.config και άλλες θέσεις και φορτώνει αυτές τις συγκροτήσεις στον τρέχοντα AppDomain.

Κώδικας:



WinForm

Ξεκινήστε χρησιμοποιώντας τον παρακάτω κώδικα για να λάβετε το φορτωμένο συγκρότημα.



Ο αριθμός των συγκροτημάτων συναρμολόγησης που λαμβάνονται είναι 12, όπως φαίνεται στο παρακάτω σχήμα:



Όταν δεν καλούμε τις μεθόδους άλλων βιβλιοθηκών, η κύρια εφαρμογή δεν φορτώνει τα dll της, πιθανώς για να εξοικονομήσει επιβάρυνση απόδοσης, επομένως την πρώτη φορά που καλούμε τις μεθόδους άλλων βιβλιοθηκών, μπορεί να είναι λίγο πιο αργή.

Χρησιμοποιήστε τον τροποποιημένο κώδικα, ως εξής:





Ο αριθμός των συγκροτημάτων συναρμολόγησης που λαμβάνονται είναι 117 και η αρχή είναι να λάβετε το dll στον κατάλογο εφαρμογών και να το φορτώσετε.

Σε αυτήν την περίπτωση, όταν καλείτε το AppDomain.CurrentDomain.GetAssemblies(). ToList(), μπορείτε να λάβετε την πλήρη συναρμολόγηση, η οποία μπορεί να είναι μεγαλύτερη από 117.

Αποκτήστε την τρέχουσα συναρμολόγηση





Προηγούμενος:Το .NET χρησιμοποιεί την προσωρινή μνήμη Redis για ειδοποιήσεις λήξης
Επόμενος:Επαγγελματικό εργαλείο διαχείρισης για επιχειρήσεις πληροφορικής cloud ServiceNow
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 25/12/2020 3:50:46 μ.μ. |
Δημοσιεύτηκε στις 22/9/2021 8:39:35 μ.μ. |
Μάθε να μαθαίνεις...
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com