.NET sözlüğü
Bu sözlüğün birincil hedefi, .NET belgelerinde sık görülen seçili terimlerin ve kısaltmaların anlamlarını netleştirmektir.
Önceden gelen derleyici.
JIT'ye benzer şekilde bu derleyici de IL'yi makine koduna çevirir. JIT derlemesinin aksine, AOT derlemesi uygulama yürütülmeden önce gerçekleşir ve genellikle farklı bir makinede gerçekleştirilir. AOT araç zincirleri çalışma zamanında derlenmemiş olduğundan derleme için harcanan zamanı en aza indirmeleri gerekmez. Bu da iyileştirmeye daha fazla zaman ayırabilecekleri anlamına gelir. AOT bağlamı uygulamanın tamamı olduğundan, AOT derleyicisi modüller arası bağlama ve tam program çözümlemesi de gerçekleştirir. Bu da tüm başvuruların izlendiği ve tek bir yürütülebilir dosyanın oluşturulduğu anlamına gelir.
Bkz. CoreRT ve .NET Native.
İş yüküne özgü bir API. Burada bazı örnekler verilmiştir:
- .NET Aspire
- ASP.NET
- ASP.NET Web API
- Entity Framework (EF)
- Windows Presentation Foundation (WPF)
- Windows Communication Foundation (WCF)
- Windows Workflow Foundation (WF)
- Windows Forms (WinForms)
.NET Framework ile birlikte gelen ve ASP.NET 4.x ve ASP.NET Framework olarak da bilinen özgün ASP.NET uygulaması.
Bazen ASP.NET hem özgün ASP.NET hem de ASP.NET Core'a başvuran bir şemsiye terimidir. Terimin belirli bir örnekte taşıdığı anlam bağlam tarafından belirlenir. her iki uygulama için de ASP.NET kullanmadığınızı açıkça ifade etmek istediğinizde ASP.NET 4.x'e bakın.
ASP.NET platformlar arası, yüksek performanslı, açık kaynak uygulaması.
ASP.NET Core belgelerine bakın.
Uygulamalar veya diğer derlemeler tarafından çağrılabilen BIR API koleksiyonu içerebilen bir .dll veya .exe dosyası.
Derleme arabirimler, sınıflar, yapılar, numaralandırmalar ve temsilciler gibi türler içerir. Projenin bin klasöründeki derlemeler bazen ikili olarak adlandırılır. Ayrıca bkz. kitaplık.
Temel Sınıf Kitaplığı.
System.* (ve sınırlı bir ölçüde Microsoft.*) ad alanlarını oluşturan bir kitaplık kümesi. BCL, ASP.NET Core gibi üst düzey uygulama çerçevelerinin üzerinde derleme yaptığı genel amaçlı, alt düzey bir çerçevedir.
.NET için BCL'nin kaynak kodu .NET çalışma zamanı deposunda bulunur. Bu BCL API'lerinin çoğu .NET Framework'te de kullanılabilir, bu nedenle bu kaynak kodu .NET Framework BCL kaynak kodunun çatalı olarak düşünebilirsiniz.
Aşağıdaki terimler genellikle BCL'nin başvurduğu AYNı API koleksiyonuna başvurur:
Ortak Dil Çalışma Zamanı.
Tam anlam bağlama bağlıdır. Ortak Dil Çalışma Zamanı genellikle .NET Framework'ün çalışma zamanını veya .NET çalışma zamanını ifade eder.
CLR, bellek ayırma ve yönetimi işler. CLR ayrıca yalnızca uygulamaları yürütmekle kalmaz, aynı zamanda bir JIT derleyicisi kullanarak anında kod oluşturup derleyen bir sanal makinedir.
.NET Framework için CLR uygulaması yalnızca Windows'dur.
.NET için CLR uygulaması (Çekirdek CLR olarak da bilinir), .NET Framework CLR ile aynı kod tabanından oluşturulur. Başlangıçta Core CLR, Silverlight'ın çalışma zamanıydı ve windows ve OS X olmak üzere birden çok platformda çalışacak şekilde tasarlanmıştır. Artık birçok Linux dağıtımı için destek de dahil olmak üzere platformlar arası bir çalışma zamanıdır.
Ayrıca bkz. çalışma zamanı.
.NET için Ortak Dil Çalışma Zamanı.
Bkz. CLR.
CLR'nin aksine, CoreRT bir sanal makine değildir, yani JIT içermediğinden anında kod oluşturma ve çalıştırma olanaklarını içermez. Bununla birlikte, GC'yi ve çalışma zamanı türü tanımlama (RTTI) ve yansıma özelliğini içerir. Ancak, tür sistemi yansıma için meta veriler gerekmeyecek şekilde tasarlanmıştır. Meta veriler gerektirmemesi, gereksiz meta verileri birbirine bağlayacak ve (daha da önemlisi) uygulamanın kullanmadığı kodu tanımlayabilen bir AOT araç zincirine sahip olmayı sağlar. CoreRT geliştirme aşamasındadır.
Bkz . CoreRT ve .NET Çalışma Zamanı Laboratuvarına Giriş.
Linux, Windows ve iOS gibi birden çok farklı işletim sisteminde kullanılabilecek bir uygulama geliştirme ve yürütme özelliği, her biri için özel olarak yeniden yazmak zorunda kalmadan. Bu, farklı platformlardaki uygulamalar arasında kodun yeniden kullanılmasını ve tutarlılığını sağlar.
Bkz . platform.
Belirli bir teknoloji için uygulama oluşturmak ve çalıştırmak için kullanılan tüm çalışma zamanı yazılımları, geliştirme araçları ve topluluk kaynakları.
".NET ekosistemi" terimi, üçüncü taraf uygulamaları ve kitaplıkları dahil etmede ".NET stack" gibi benzer terimlerden farklıdır. Aşağıda tümcedeki bir örnek verilmişti:
- ".NET Standard'ın ardındaki motivasyon.NET ekosisteminde daha fazla tekdüzelik oluşturmaktı."
Genel olarak, belirli bir teknolojiye dayalı uygulamaların geliştirilmesini ve dağıtılmasını kolaylaştıran kapsamlı bir API koleksiyonu. Bu genel anlamda ASP.NET Core ve Windows Forms, uygulama çerçevelerine örnek olarak verilebilir. Çerçeve ve kitaplık sözcükleri genellikle eş anlamlı olarak kullanılır.
"Çerçeve" sözcüğü aşağıdaki terimlerde farklı bir anlama sahiptir:
- çerçeve kitaplıkları
- .NET Framework
- paylaşılan çerçeve
- hedef çerçeve
- TFM (hedef çerçeve adı)
- çerçeveye bağımlı uygulama
Bazen "çerçeve", .NET uygulamasını ifade eder.
Anlamı bağlama bağlıdır. .NET için çerçeve kitaplıklarına başvurabilir ve bu durumda BCL'nin başvurduğu kitaplıklara başvurur. Ayrıca BCL üzerinde derlenen ve web uygulamaları için ek API'ler sağlayan ASP.NET Core çerçeve kitaplıklarına da başvurabilir.
Çöp toplayıcı.
Çöp toplayıcı, otomatik bellek yönetiminin bir uygulamasıdır. GC, artık kullanımda olmayan nesneler tarafından kaplanmış belleği boşaltıyor.
Bkz . Çöp Toplama.
Ara dil.
C# gibi üst düzey .NET dilleri, Ara Dil (IL) olarak adlandırılan donanımdan bağımsız bir yönerge kümesine kadar derleyin. IL bazen MSIL (Microsoft IL) veya CIL (Common IL) olarak adlandırılır.
Tam zamanında derleyici.
AOT'ye benzer şekilde, bu derleyici IL'yi işlemcinin anladığı makine koduna çevirir. AOT'nin aksine JIT derlemesi isteğe bağlı olarak gerçekleşir ve kodun üzerinde çalışması gereken makinede gerçekleştirilir. JIT derlemesi uygulamanın yürütülmesi sırasında gerçekleştiğinden, derleme zamanı çalışma süresinin bir parçasıdır. Bu nedenle, JIT derleyicilerinin kodu iyileştirmek için harcanan zamanı, sonuçta elde edilen kodun üretebileceği tasarruflara karşı dengelemesi gerekir. Ancak JIT gerçek donanımı bilir ve geliştiricilerin farklı uygulamalar göndermesine gerek kalmaz.
.NET uygulaması şunları içerir:
- Bir veya daha fazla çalışma zamanı. Örnekler: CLR, CoreRT.
- .NET Standard sürümünü uygulayan ve ek API'ler içerebilen bir sınıf kitaplığı. Örnekler: .NET Framework ve .NET için BCL'ler.
- İsteğe bağlı olarak, bir veya daha fazla uygulama çerçevesi. Örnekler: ASP.NET, Windows Forms ve WPF. .NET Framework ve .NET'te bulunur.
- İsteğe bağlı olarak geliştirme araçları. Bazı geliştirme araçları birden çok uygulama arasında paylaşılır.
.NET uygulama örnekleri:
Daha fazla bilgi için bkz . .NET uygulamaları.
Uygulamalar veya diğer kitaplıklar tarafından çağrılabilen BIR API koleksiyonu. .NET kitaplığı bir veya daha fazla derlemeden oluşur.
Kitaplık ve çerçeve sözcükleri genellikle eş anlamlı olarak kullanılır.
Küçük bir çalışma zamanı gerektiğinde kullanılan açık kaynak, platformlar arası .NET uygulaması. Android, Mac, iOS, tvOS ve watchOS'ta Xamarin uygulamalarını destekleyen ve öncelikli olarak küçük bir ayak izi gerektiren uygulamalara odaklanan çalışma zamanıdır.
Şu anda yayımlanmış olan tüm .NET Standard sürümlerini destekler.
Mono, geçmişte .NET Framework'ün daha büyük API'sini uyguladı ve Unix'te en popüler özelliklerden bazılarını taklit etti. Bazen Unix'te bu özelliklere dayanan .NET uygulamalarını çalıştırmak için kullanılır.
Mono genellikle tam zamanında derleyici ile kullanılır, ancak aynı zamanda iOS gibi platformlarda kullanılan tam statik derleyici (önceden derleme) içerir.
Daha fazla bilgi için Mono belgelerine bakın.
Uygulamanın kendi içinde bulunduğu ve yayımlama sırasında yerel koda derlenmeden önce derlendiği dağıtım modu. Yerel AOT uygulamaları çalışma zamanında JIT derleyicisi kullanmaz. .NET çalışma zamanı yüklü olmayan makinelerde çalışabilirler.
Daha fazla bilgi için bkz . Yerel AOT dağıtımı.
.NET'in iki anlamı vardır ve amaçlanan, bağlama bağlıdır:
- .NET, .NET Standard ve tüm .NET uygulamaları ve iş yükleri için şemsiye terimi olarak kullanılabilir.
- .NET daha sık olarak .NET Core olarak adlandırılan .NET'in platformlar arası, yüksek performanslı, açık kaynak uygulamasını ifade eder. .NET 5 (ve .NET Core) ve sonraki sürümleri veya yalnızca .NET 5+ olarak da adlandırılır.
Örneğin, ilk anlam ".NET uygulamaları" gibi tümceciklerde amaçlanmıştır. İkinci anlam, .NET SDK ve .NET CLI gibi adlarda amaçlanmıştır. İlk anlamın amaçlandığını belirten bağlamın yokluğunda, ikinci anlamın amaçlandığını varsayın.
.NET'in önceki sürümleri .NET Core 1 ile 3.1 arasında olarak bilinir. Sürüm numaraları 4'e atlar ve 3.1'den sonra gelen sürüm .NET 5 olarak bilinir ve adından "Core" bırakılır. Bu .NET uygulamasının tüm yeni geliştirmeler için önerilen uygulama olduğunu vurgumak için "Çekirdek" bırakılıyordu. Bu yeni .NET uygulamasının .NET Framework olarak bilinen eski uygulamayla karıştırılmasını önlemek için sürüm 4 atlandı. .NET Framework'ün geçerli sürümü 4.8.1'dir.
.NET her zaman tamamen büyük harfe ayrılmıştır, hiçbir zaman ".Net" değildir.
.NET için uygulama ve kitaplık geliştirmeye yönelik platformlar arası bir araç zinciri. .NET Core CLI olarak da bilinir.
Bkz. .NET CLI.
Bkz. .NET.
Yalnızca Windows üzerinde çalışan bir .NET uygulaması. Ortak Dil Çalışma Zamanı (CLR), Temel Sınıf Kitaplığı (BCL) ve ASP.NET, Windows Forms ve WPF gibi uygulama çerçevesi kitaplıklarını içerir.
Bkz. .NET Framework Kılavuzu.
Tam zamanında (JIT) değil, önceden yerel kod (AOT) üreten bir derleyici araç zinciri.
Derleme, bir C++ derleyicisi ve bağlayıcısının çalışma şekline benzer şekilde geliştiricinin makinesinde gerçekleşir. Kullanılmayan kodu kaldırır ve iyileştirmeye daha fazla zaman harcar. Kitaplıklardan kod ayıklar ve yürütülebilir dosyayla birleştirir. Sonuç, uygulamanın tamamını temsil eden tek bir modüldür.
UWP, .NET Native tarafından desteklenen uygulama çerçevesidir.
.NET Native belgelerine bakın.
Geliştiricilerin .NET için uygulama ve kitaplık oluşturmasına olanak tanıyan bir kitaplık ve araç kümesi. .NET Core SDK olarak da bilinir.
Uygulama derlemeye yönelik .NET CLI'yi , uygulamaları derlemeye ve çalıştırmaya yönelik .NET kitaplıklarını ve çalışma zamanını ve CLI komutlarını çalıştıran ve uygulamaları çalıştıran dotnet yürütülebilir dosyasını (dotnet.exe) içerir.
Bkz. .NET SDK'ya Genel Bakış.
Her .NET uygulamasında kullanılabilen .NET API'lerinin resmi belirtimi.
.NET Standard belirtimi bazen kitaplık olarak adlandırılır. Kitaplık yalnızca belirtimler (arabirimler) değil API uygulamaları içerdiği için .NET Standard'a "kitaplık" çağrılması yanıltıcıdır.
Bkz. .NET Standard.
Yerel (görüntü) oluşturma.
Bu teknolojiyi kalıcı bir JIT derleyicisi olarak düşünebilirsiniz. Genellikle kodun yürütüldüğü makinede kod derler, ancak derleme genellikle yükleme zamanında gerçekleşir.
NuGet paketi veya yalnızca bir paket, yazar adı gibi ek meta verilerin yanı sıra aynı ada sahip bir veya daha fazla derleme içeren bir .zip dosyasıdır.
.zip dosyasının .nupkg uzantısı vardır ve birden çok hedef çerçeve ve sürümle kullanılmak üzere .dll dosyaları ve .xml dosyaları gibi varlıklar içerebilir. Bir uygulama veya kitaplığa yüklendiğinde, uygulama veya kitaplık tarafından belirtilen hedef çerçeveye göre uygun varlıklar seçilir. Arabirimi tanımlayan varlıklar ref klasöründe, uygulamayı tanımlayan varlıklar ise lib klasöründedir.
Windows, macOS, Linux, iOS ve Android gibi bir işletim sistemi ve üzerinde çalıştığı donanım.
Cümlelerdeki kullanım örnekleri aşağıda verilmiştir:
- ".NET Core, .NET'in platformlar arası bir uygulamasıdır."
- "PCL profilleri Microsoft platformlarını temsil ederken .NET Standard platform için belirsizdir."
Eski .NET belgelerinde bazen tüm uygulamalar da dahil olmak üzere bir .NET uygulaması veya .NET yığını anlamına gelen ".NET platformu" kullanılır. Bu kullanımların her ikisi de birincil (işletim sistemi/donanım) anlamı ile karıştırılma eğilimindedir, bu nedenle bu kullanımlardan kaçınmaya çalışırız.
"Platform", uygulama oluşturmaya ve çalıştırmaya yönelik araçlar ve kitaplıklar sağlayan yazılımlara başvuran "geliştirici platformu" ifadesinde farklı bir anlama sahiptir. .NET, birçok farklı türde uygulama oluşturmaya yönelik bir platformlar arası, açık kaynak geliştirici platformudur.
POCO (veya düz eski sınıf/CLR nesnesi), yalnızca genel özellikleri veya alanları içeren bir .NET veri yapısıdır. POCO, şu şekilde başka üye içermemelidir:
- yöntemler
- etkinlikler
- Temsilciler
Bu nesneler öncelikli olarak veri aktarım nesneleri (DTO) olarak kullanılır. Saf POCO başka bir nesneyi devralamaz veya bir arabirim uygulamaz. POCO'ların serileştirme ile kullanılması yaygındır.
Genel olarak, yönetilen bir programın yürütme ortamı. İşletim sistemi çalışma zamanı ortamının bir parçasıdır ancak .NET çalışma zamanının bir parçası değildir. Bu sözcükle ilgili bazı .NET çalışma zamanları örnekleri aşağıda verilmiştir:
- Ortak Dil Çalışma Zamanı (CLR)
- .NET Native (UWP için)
- Mono çalışma zamanı
"Çalışma zamanı" sözcüğünün bazı bağlamlarda farklı bir anlamı vardır:
.NET 5 indirme sayfasında .NET çalışma zamanı.
.NET çalışma zamanını veya ASP.NET Core çalışma zamanı gibi diğer çalışma zamanlarını indirebilirsiniz. Bu kullanımdaki çalışma zamanı, makinede çerçeveye bağımlı bir uygulama çalıştırmak için bir makineye yüklenmesi gereken bileşenler kümesidir. .NET çalışma zamanı, BCL'yi sağlayan CLR ve .NET paylaşılan çerçevesini içerir.
.NET çalışma zamanı kitaplıkları
BCL'nin başvurduğu kitaplıkları ifade eder. Ancak, ASP.NET Core çalışma zamanı gibi diğer çalışma zamanları, BCL üzerinde derleyen ek kitaplıklarla farklı paylaşılan çerçevelere sahiptir.
Çalışma Zamanı Tanımlayıcısı (RID).
Çalışma zamanı burada, bir .NET uygulamasının üzerinde çalıştığı işletim sistemi platformu ve CPU mimarisi anlamına gelir, örneğin:
linux-x64
.Bazen "çalışma zamanı", aşağıdaki örneklerde olduğu gibi bir .NET uygulaması anlamında kullanılır:
- "Çeşitli .NET çalışma zamanları .NET Standard'ın belirli sürümlerini uygular. … Her .NET çalışma zamanı sürümü, desteklediği en yüksek .NET Standart sürümünü tanıtıyor..."
- "Birden çok çalışma zamanında çalıştırılması amaçlanan kitaplıklar bu çerçeveyi hedeflemelidir." (.NET Standard'a başvurur)
Anlamı bağlama bağlıdır. .NET paylaşılan çerçevesi, .NET çalışma zamanına dahil edilen kitaplıklara başvurur. Bu durumda, .NET için paylaşılan çerçeve BCL'nin başvurduğu kitaplıklarla aynı kitaplıkları ifade eder.
Başka paylaşılan çerçeveler de vardır. ASP.NET Core paylaşılan çerçevesi, BCL ve web uygulamaları tarafından kullanılmak üzere ek API'ler içeren ASP.NET Core çalışma zamanına dahil olan kitaplıkları ifade eder.
Çerçeveye bağımlı uygulamalar için paylaşılan çerçeve, uygulamayı çalıştıran makinedeki bir klasöre yüklenen derlemelerde bulunan kitaplıklardan oluşur. Bağımsız uygulamalar için, paylaşılan çerçeve derlemeleri uygulamaya dahil edilir.
Daha fazla bilgi için bkz . .NET Core temel öğelerini derinlemesine inceleme, bölüm 2: paylaşılan çerçeve.
Uygulamaları derlemek ve çalıştırmak için birlikte kullanılan bir dizi programlama teknolojisi.
".NET yığını", .NET Standard'ı ve tüm .NET uygulamalarını ifade eder. ".NET yığını" tümceciği bir .NET uygulamasına başvurabilir.
Bir .NET uygulamasının veya kitaplığının bağlı olduğu API koleksiyonu.
Bir uygulama veya kitaplık, tüm .NET uygulamalarında standartlaştırılmış bir API kümesinin belirtimi olan .NET Standard sürümünü (örneğin, .NET Standard 2.0) hedefleyebilir. Uygulama veya kitaplık belirli bir .NET uygulamasının sürümünü de hedefleyebilir ve bu durumda uygulamaya özgü API'lere erişim elde eder. Örneğin, Xamarin.iOS'yi hedefleyen bir uygulama, Xamarin tarafından sağlanan iOS API sarmalayıcılarına erişim elde eder.
Bazı hedef çerçeveler (örneğin, .NET Framework) için kullanılabilir API'ler, uygulama çerçevesi API'lerini (örneğin, ASP.NET, WinForms) içerebilen bir .NET uygulamasının sisteme yüklediği derlemeler tarafından tanımlanır. Paket tabanlı hedef çerçeveler için, çerçeve API'leri uygulama veya kitaplıkta yüklü paketler tarafından tanımlanır.
Bkz. Hedef Çerçeveler.
Hedef çerçeve adı.
.NET uygulamasının veya kitaplığının hedef çerçevesini belirtmek için standartlaştırılmış belirteç biçimi. Hedef çerçevelere genellikle gibi net462
kısa bir adla başvurulur. Uzun biçimli TFM'ler (örneğin .NETFramework,Version=4.6.2
) vardır ancak genellikle bir hedef çerçeve belirtmek için kullanılmaz.
Bkz. Hedef Çerçeveler.
Evrensel Windows Platformu.
Nesnelerin İnterneti (IoT) için dokunmatik özellikli Windows uygulamaları ve yazılımları oluşturmak için kullanılan bir .NET uygulaması. Bilgisayarlar, tabletler, telefonlar ve hatta Xbox dahil olmak üzere hedeflemek isteyebileceğiniz farklı cihaz türlerini birleştirmek için tasarlanmıştır. UWP merkezi uygulama deposu, yürütme ortamı (AppContainer) ve Win32 (WinRT) yerine kullanılacak bir Windows API'leri kümesi gibi birçok hizmet sağlar. Uygulamalar C++, C#, Visual Basic ve JavaScript ile yazılabilir. C# ve Visual Basic kullanılırken .NET API'leri .NET tarafından sağlanır.
Birinin oluşturmuş olduğu bir uygulama türü. Uygulama modelinden daha genel. Örneğin, bu belge de dahil olmak üzere her .NET belge sayfasının en üstünde, Web, Mobil, Bulut, Bulutta yerel ve Masaüstü belgelerine geçiş yapmanızı sağlayan İş Yükleri açılan listesi yer alır.
Bazı bağlamlarda iş yükü, belirli bir uygulama türünü desteklemek için yüklemeyi seçebileceğiniz bir Visual Studio özellikleri koleksiyonunu ifade eder. Örnek için bkz . Visual Studio iş yüklerini yapılandırma.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: