Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 46998|Jawab: 2

[Sumber] .NET tidak mendapatkan rakitan referensi lengkap

[Salin tautan]
Diposting pada 22/08/2020 10.41.02 | | | |
Menggunakan. .NET untuk mendapatkan rakitan yang dimuat tidak lengkap, meskipun kami mengacu ke pustaka lain, tetapi tanpa memanggil, itu tidak dapat diperoleh di rakitan yang dimuat, artikel ini dibagikan untuk mendapatkan rakitan perakitan lengkap di WinForm dan ASP.NET.

Perkenalan

Menggunakan. .NET untuk mendapatkan rakitan yang dimuat tidak lengkap, meskipun kami mengacu ke pustaka lain, tetapi tanpa memanggil, itu tidak dapat diperoleh di rakitan yang dimuat, artikel ini dibagikan untuk mendapatkan rakitan perakitan lengkap di WinForm dan ASP.NET.

ASP.NET (tidak terukur)

.NET Framework menunda pemuatan rakitan ke AppDomain saat ini hingga diperlukan. Misalnya, jika Anda hanya memanggil library pihak ketiga dari SomeMethod(), DLL pihak ketiga biasanya tidak akan dimuat hingga eksekusi pertama SomeMethod().

AppDomain.GetAssemblies() memberi Anda semua rakitan yang telah dimuat ke AppDomain saat ini. BuildManager.GetReferencedAssemblies() mengembalikan daftar semua rakitan yang direferensikan dari Web.config dan lokasi lainnya, dan memuat rakitan tersebut ke AppDomain saat ini.

Kode:



WinForm

Mulailah dengan menggunakan kode di bawah ini untuk mendapatkan rakitan yang dimuat.



Jumlah rakitan Perakitan yang diperoleh adalah 12, seperti yang ditunjukkan pada gambar berikut:



Ketika kita tidak memanggil metode library lain, aplikasi utama tidak memuat dll-nya, mungkin untuk menghemat overhead kinerja, jadi pertama kali kita memanggil metode library lain, mungkin sedikit lebih lambat.

Gunakan kode yang dimodifikasi, sebagai berikut:





Jumlah rakitan perakitan yang diperoleh adalah 117, dan prinsipnya adalah mendapatkan dll di bawah direktori aplikasi dan memuatnya.

Dalam hal ini, saat memanggil AppDomain.CurrentDomain.GetAssemblies(). ToList(), Anda bisa mendapatkan rakitan lengkap, yang mungkin lebih dari 117.

Dapatkan rakitan saat ini





Mantan:.NET menggunakan cache Redis untuk pemberitahuan kedaluwarsa
Depan:Alat manajemen profesional untuk bisnis TI cloud ServiceNow
 Tuan tanah| Diposting pada 25/12/2020 15.50.46 |
Diposting pada 22/09/2021 20.39.35 |
Belajar untuk belajar...
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com