Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 46998|Yanıt: 2

[Kaynak] .NET tam referans montaj montajını almıyor

[Bağlantıyı kopyala]
Yayınlandı 22.08.2020 10:41:02 | | | |
Kullan. .NET yüklemeli montajı almak için eksiktir, ancak diğer kütüphanelere atıfta bulunuruz, ancak çağrılmadan, yüklemeli montajda elde edilemez, bu makale WinForm ve ASP.NET'de tam montaj montajını almak için paylaşım yapar.

Giriş

Kullan. .NET yüklemeli montajı almak için eksiktir, ancak diğer kütüphanelere atıfta bulunuruz, ancak çağrılmadan, yüklemeli montajda elde edilemez, bu makale WinForm ve ASP.NET'de tam montaj montajını almak için paylaşım yapar.

ASP.NET (ölçülmemiş)

.NET Framework, montajların mevcut AppDomain'e yüklenmesini ihtiyaç duyulana kadar ertelemektedir. Örneğin, sadece SomeMethod()'dan üçüncü taraf bir kütüphaneyi çağırıyorsanız, üçüncü taraf DLL genellikle SomeMethod()'un ilk çalışmasında yüklenir.

AppDomain.GetAssemblies() mevcut AppDomain'e yüklenen tüm assemble'leri size verir. BuildManager.GetReferencedAssemblies() Web.config ve diğer konumlardan referans verilen tüm montajların listesini döner ve bu montajları mevcut AppDomain'e yükler.

Kod:



WinForm

Yüklemeli montajı almak için aşağıdaki kodu kullanarak başlayın.



Elde edilen Meclis meclisi sayısı, aşağıdaki şekilde gösterildiği gibi 12'dir:



Diğer kütüphanelerin metodlarını çağırmadığımızda, ana uygulama dll'lerini yüklemez, muhtemelen performans yükünü azaltmak için, bu yüzden diğer kütüphanelerin metodlarını ilk çağırdığımızda biraz daha yavaş olabilir.

Değiştirilmiş kodu aşağıdaki gibi kullanın:





Elde edilen assembly assembly sayısı 117'dir ve prensip dll'yi uygulama dizininin altına alıp yüklemektir.

Bu durumda, AppDomain.CurrentDomain.GetAssemblies() çağrıldığında. ToList() yöntemiyle tam montajı elde edebilirsiniz, bu 117'den fazla olabilir.

Mevcut montajı alın





Önceki:.NET, son kullanma süresi bildirimleri için Redis önbelleği kullanır
Önümüzdeki:ServiceNow bulut BT işi için profesyonel yönetim aracı
 Ev sahibi| Yayınlandı 25.12.2020 15:50:46 |
Yayınlandı 22.09.2021 20:39:35 |
Öğrenmeyi öğren...
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com