.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.

AOT

Ö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.

uygulama modeli

İş yüküne özgü bir API. Burada bazı örnekler verilmiştir:

  • ASP.NET
  • ASP.NET Web API
  • Entity Framework (EF)
  • Windows Presentation Foundation (WPF)
  • Windows Communication Foundation (WCF)
  • Windows Workflow Foundation (WF)
  • Windows Forms (WinForms)

ASP.NET

.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 belgelerine bakın.

ASP.NET Core

ASP.NET platformlar arası, yüksek performanslı, açık kaynak uygulaması.

ASP.NET Core belgelerine bakın.

derleme

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.

BCL

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:

CLR

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ı.

Çekirdek CLR

.NET için Ortak Dil Çalışma Zamanı.

Bkz. CLR.

CoreRT

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ş.

platformlar arası

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.

Ekosistem

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ı."

çerçeve

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:

Bazen "çerçeve", .NET uygulamasını ifade eder.

çerçeve kitaplıkları

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.

GC

Çö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.

IL

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.

JIT

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ı

.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ı.

kitaplık

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.

Mono

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.

Yerel AOT

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

.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 belgelerine bakın.

.NET CLI

.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.

.NET Core

Bkz. .NET.

.NET Framework

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.

.NET Native

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.

.NET SDK

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ış.

.NET Standard

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.

Ngen

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.

paket

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.

platform

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

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.

çalışma zamanı

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)

paylaşılan çerçeve

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.

yığın

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.

hedef çerçeve

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.

TFM

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 net462kı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.

UWP

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.

iş yükü

Birinin oluşturmuş olduğu bir uygulama türü. Uygulama modelinden daha genel. Örneğin, bu da dahil olmak üzere her .NET belge sayfasının en üstünde, Web, Mobil, Bulut, Masaüstü ve Makine Öğrenmesi ve Veri 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 . İş yükü seçme.

Ayrıca bkz.