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
|