.NET 7.0’daki yenilikler [17]: konsol uygulamaları için erken derleyici

Womanne

Member


  1. .NET 7.0’daki yenilikler [17]: konsol uygulamaları için erken derleyici






Dr Holger Schwichtenberg, güvenlikle ilgili son derece kritik alanlarda bile yenilik ve deneyim odaklı yazılım geliştirme sunan MAXIMAGO’da Baş Teknoloji Uzmanıdır. Aynı zamanda, çok sayıda orta ölçekli ve büyük şirketi yazılım geliştirme ve işletim konusunda 38 tanınmış uzmanla danışmanlık ve eğitimle destekleyen uzman ağı www.IT-Visions.de’nin başkanıdır.







.NET 7.0’da geliştiriciler, birkaç yıldır duyurulan ancak defalarca ertelenen ve geliştirme aşamasında makine kodu üreten .NET için Ahead-of-Time (AOT) derleyicisini ilk kez kullanabilirler. “Native-AOT” adlı derleyici, ara dili çalışma zamanında makine koduna çeviren eski tam zamanında (JIT) derleyicinin yerini almaz, ancak aşağıdaki şekilde gösterildiği gibi tamamlayıcı bir alternatif sunar.







Native-AOT, .NET 7.0’daki tam zamanında derleyiciye bir alternatiftir, ancak yalnızca konsol uygulamaları içindir.



Daha önce .NET’te yalnızca Blazor WebAssembly to WebAssembly bayt kodu için AOT derlemesi (.NET 6.0’dan beri) ve .NET Core 3.0’da tanıtılan CrossGen tekniği vardı; burada bir derleme kısmen tasarım zamanında önceden derlenir, ancak tüm ara kod sağlanır (bkz. Şekilde solda).

Yerel AOT terimleri


Native-AOT ile derleme, yalnızca çalışma zamanı kodu oluşturma (Reflection Emit), Assembly.LoadFile(), Assembly.LoadFrom() veya benzeri ile dinamik derleme yeniden yükleme ve COM API erişimi ve WinRT yoksa mümkündür. Ayrıca, C++/CLI kullanamazsınız. Oluşturması çok daha uzun sürer ve başlangıçta yalnızca .NET 7.0’daki konsol projeleriyle çalışır.


Her zaman tek dosya derlemesiyle sonuçlandığı için, Assembly.GetFile(), Assembly.Location, Assembly.CodeBase, Module.Name ve diğerleri gibi tek dosya derleme sınırlamaları olan herhangi bir temel sınıf işlevi çalışmaz.



betterCode() .NET 8.0, çevrimiçi konferans, 21 Kasım 2023



Bir sonraki uzun süredir devam eden destek sürümü, .NET 8.0 ile birlikte görünecektir. 21 Kasım 2023’te Haberler ve www.IT-Visions.de tarafından sunulan betterCode() .NET 8.0 çevrimiçi konferansı, .NET 8.0’a ilişkin temel bir genel bakış elde etmek için araçlar sağlayacaktır. Uzman konuşmaları .NET 8.0, ASP.NET Core 8.0, Blazor 8.0, .NET MAUI, C# 12.0 ve daha fazlasındaki yenilikleri gösterir. Dört tam günlük atölye çalışması pratik bilgiler verir.







Native-AOT’yi Etkinleştirme


Native-AOT sesli olarak kullanılabilir <PublishAot>true</PublishAot> proje dosyasında etkinleştirin. Ardından, Runtime Identifier ile yayınlama, örneğin aşağıdaki gibi mümkündür:

dotnet publish -r win-x64 -c Release

VEYA

dotnet publish -r linux-arm64 -c Release

görüş


Bu serinin önümüzdeki hafta çıkacak olan bir sonraki bölümü, AOT ile derlenmiş uygulamaların hızı ile JIT ile derlenmiş uygulamalar arasındaki hızı inceliyor.


(harita)



Haberin Sonu
 
Üst