|
|
2019-9-28 16:38:47 tarihinde yayınlandı
|
|
|
|

Birkaç gün önce Microsoft, .NET Core 3.0'ı piyasaya sürdü ve en büyük gelişmelerden biri Windows masaüstü uygulamalarını desteklemekte (sadece Windows). .NET Core 3.0 SDK Windows Desktop Bileşeni'ni kullanarak Windows Forms ve Windows Presentation Foundation (WPF) uygulamalarını port edebilirsiniz. Açık olmak gerekirse, Windows masaüstü bileşenleri destekleniyor ve sadece Windows'ta dahil ediliyor.
SDK indirme adresi:Bağlantı girişi görünür.
.NET Core özelliklerini tanıtmak için bağlantılar:
Bağlantı girişi görünür.
Bağlantı girişi görünür.
Özellikler şunları içerir:
- C# kullanarak zengin ve etkileşimli istemci web uygulamaları oluşturun.
- Yüksek performanslı arka uç servisleri oluşturmak için gRPC kullanın.
- SignalR artık otomatik yeniden bağlantı ve istemci-sunucu akışlarını destekliyor.
- Web API'leri için güçlü tipli istemci kodu oluşturmak için OpenAPI dokümantasyonunu kullanın.
- Uç nokta yönlendirme bu çerçeve aracılığıyla entegre edilmiştir.
- Kestrel varsayılan olarak HTTP/2'yi etkinleştirmiştir.
- Entegre web API ve tek sayfalı uygulama kimlik doğrulama desteği.
- Sertifikalar ve Kerberos doğrulaması desteklenmektedir.
- Yeni System.Text.Json serileştiricisini entegre edin.
- Yeni evrensel barındırma, bağımlılık enjeksiyonu, yapılandırma ve loglama gibi yaygın yönetilen hizmetleri oluşturur.
- Uzun vadeli hizmetler inşa etmek için yeni bir İşçi Hizmeti şablonu.
- Saniye başındaki talepler, toplam, güncel ve başarısız talepler için yeni EventCounter'lar oluşturulur.
- IIS'de barındırılan başlatma hataları artık Windows Olay Günlüğü'ne bildiriliyor.
- Pipeline entegrasyonu System.IO.Pipelines'ı talep edin.
- Tüm teknoloji yığınında performans iyileştirmeleri.
Aşağıdaki şekilde gösterildiği gibi VS 2019 ile yeni bir .NET Core 3.0 konsol projesi oluşturalım:
Newtonsoft.json paketine başvurarak, birkaç satır kod yazın, aşağıdaki gibi:
VS Regenerate üzerine sağ tıklayınız, sonra projenin bin dizinini açıyoruz ve :demo1.exe ve Newtonsoft.Json.dll dosyaları dahil olmak üzere birkaç dosyanın oluşturulduğunu görüyoruz.
Tek dosyalı bir çalıştırılabilir dosya yayınlayın
Yöntem 1:
Proje dizininde aşağıdaki komutu çalıştırın:
C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 klasörünü açıyoruz ve birçok dll dosyasının oluşturulduğunu ve bir yayınlama klasörü olduğunu görüyoruz.
Yayınlama klasörüne gidin,İzleme demo1.exe boyutu 66M, bu da klasör dışındaki tüm dosyalarla aynı boyutta, aşağıdaki şekilde gösterildiği gibi:
Oluşturulan tek çalıştırılabilir dosya, programın yürütülmesi için gereken ortamı içerir ve hedef bilgisayarın SDK'yı yüklemesini gerektirmez; dezavantajı ise dosya boyutunun çok büyük olmasıdır.
Yöntem 2:
Proje dosyasını düzenleyip PublishSingleFile düğüm yapılandırmasını eklemek yerine sağ tıklama ile birlikte kod şöyledir:
Sonra sağ tıklayın ve "Yayınla" butonuna tıklayın.
Montaj bağlantıları
.NET core 3.0 SDK, IL analiz ederek ve kullanılmayan montajları kırparak uygulamanızın boyutunu küçültebilecek bir araçla birlikte geliyor.
Kendi kendine yeten uygulamalar, ana bilgisayarınıza .NET yüklemeden kod çalıştırmak için ihtiyacınız olan her şeyi içerir. Ancak, çoğu zaman uygulama çalışmak için çerçevenin sadece bir kısmına ihtiyaç duyar ve kullanılmayan diğer kütüphaneler kaldırılabilir.
.NET Core artık uygulamanızın IL bağlantılı aracı ile tarama ayarını içeriyor. Bu araç, hangi kodun gerekli olduğunu tespit eder ve kullanılmayan kütüphaneleri kırpır. Bu araç, bazı uygulamaların dağıtım boyutunu önemli ölçüde azaltabilir.
Bu aracı etkinleştirmek için <PublishTrimmed> projenizdeki ayarları kullanın ve kendi içinde yeterli bir uygulama yayınlayın:
.NET Core CLI
66M dosya oluşturduk ve yapılandırmayı ekledikten sonra,35 metreye çıktı ve doluluk 30 milyon oldu。
Yansımalar veya ilgili dinamik özellikleri (ASP.NET Core ve WPF dahil) kullanan uygulamaları veya çerçeveleri mutlaka göz önünde bulundurun.Genellikle kesim sırasında zarar görür。 Bu bozulma, linkerin bu dinamik davranışın farkında olmaması ve yansıtma için hangi çerçeve türlerinin gerekeceğini belirleyememesi nedeniyle gerçekleşir。 IL linker aracı bu durumu tespit edecek şekilde yapılandırılabilir.
En önemlisi, kesimden sonra uyguladığınızdan emin olunTestler yapın。
(Son)
|
Önceki:Ajax'ın dış değişkenlere değer atamamasını çözÖnümüzdeki:C dili çok güçlü, hangi dilde yazılmış?
|