Dalam C#, pemasangan yang dimuatkan menggunakan Assembly.LoadFrom() perlu dipunggah secara eksplisit untuk mengosongkan memori dan melepaskan sumber diadakan oleh perhimpunan.
Untuk memunggah pemasangan, anda boleh menggunakan kaedah AppDomain.Unload. Kaedah ini memunggah AppDomain yang ditentukan, yang seterusnya memunggah semua pemasangan yang dimuatkan dalam AppDomain itu. Contohnya:
// Create a new AppDomain and load the assembly AppDomain dom = AppDomain.CreateDomain("some"); AssemblyName assemblyName = new AssemblyName(); assemblyName.CodeBase = pathToAssembly; Assembly assembly = dom.Load(assemblyName); // Get the types from the assembly Type[] types = assembly.GetTypes(); // Unload the AppDomain AppDomain.Unload(dom);
Memanggil assem = null sahaja tidak menjamin pemasangan akan dipunggah serta-merta. Pengumpul sampah masih perlu berlari untuk menuntut semula sumber yang tidak dirujuk. Anda tidak boleh memanggil pemungut sampah secara eksplisit dalam C#.
Walau bagaimanapun, anda boleh memaksa pemungut sampah berjalan lebih awal dengan memanggil kaedah GC.Collect. Kaedah ini mencetuskan kitaran kutipan sampah dan cuba menuntut semula semua objek yang tidak boleh dicapai. Walaupun GC.Collect boleh digunakan untuk meningkatkan prestasi dalam sesetengah senario, biasanya tidak digalakkan untuk bergantung padanya secara berlebihan, kerana ia boleh memperkenalkan jeda dalam aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk Memunggah Assemblies yang Dimuat dengan Assembly.LoadFrom() dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!