Słownik platformy .NET
Głównym celem tego słownika jest wyjaśnienie znaczenia wybranych terminów i akronimów, które są często wyświetlane w dokumentacji platformy .NET.
AOT
Kompilator z wyprzedzeniem.
Podobnie jak w przypadku trybu JIT, ten kompilator tłumaczy również język IL na kod maszynowy. W przeciwieństwie do kompilacji JIT kompilacja AOT odbywa się przed wykonaniem aplikacji i jest zwykle wykonywana na innej maszynie. Ponieważ łańcuchy narzędzi AOT nie kompilują się w czasie wykonywania, nie muszą minimalizować czasu spędzonego na kompilowaniu. Oznacza to, że mogą poświęcać więcej czasu na optymalizację. Ponieważ kontekst AOT jest całą aplikacją, kompilator AOT wykonuje również łączenie między modułami i analizę całego programu, co oznacza, że wszystkie odwołania są wykonywane, a tworzony jest jeden plik wykonywalny.
Zobacz CoreRT i .NET Native.
model aplikacji
Interfejs API specyficzny dla obciążenia. Oto kilka przykładów:
- .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)
ASP.NET
Oryginalna implementacja ASP.NET, która jest dostarczana z programem .NET Framework, znanym również jako ASP.NET 4.x i ASP.NET Framework.
Czasami ASP.NET jest terminem parasolowym, który odnosi się zarówno do oryginalnej ASP.NET, jak i ASP.NET Core. Znaczenie, że termin przenosi się w danym wystąpieniu, jest określany przez kontekst. Zapoznaj się z ASP.NET 4.x, jeśli chcesz wyjaśnić, że nie używasz ASP.NET, aby oznaczać obie implementacje.
Zobacz dokumentację ASP.NET.
ASP.NET Core
Międzyplatformowa implementacja ASP.NET typu open source o wysokiej wydajności.
Zobacz dokumentację ASP.NET Core.
zestaw
Plik .dll lub .exe, który może zawierać kolekcję interfejsów API, które mogą być wywoływane przez aplikacje lub inne zestawy.
Zestaw zawiera typy, takie jak interfejsy, klasy, struktury, wyliczenia i delegaty. Zestawy w folderze bin projektu są czasami nazywane plikami binarnymi. Zobacz również bibliotekę.
BCL
Biblioteka klas bazowych.
Zestaw bibliotek składających się na przestrzenie nazw System.* (i w ograniczonym zakresie Microsoft.*). Lista BCL to struktura ogólnego przeznaczenia, niższego poziomu, na podstawie których oparte są platformy aplikacji wyższego poziomu, takie jak ASP.NET Core.
Kod źródłowy listy BCL dla platformy .NET znajduje się w repozytorium środowiska uruchomieniowego platformy .NET. Większość z tych interfejsów API BCL jest również dostępna w programie .NET Framework, więc można traktować ten kod źródłowy jako rozwidlenie kodu źródłowego BCL programu .NET Framework.
Następujące terminy często odnoszą się do tej samej kolekcji interfejsów API, do których odnosi się lista BCL:
- podstawowe biblioteki platformy .NET
- biblioteki platform
- biblioteki środowiska uruchomieniowego
- platforma udostępniona
CLR
Środowisko uruchomieniowe języka wspólnego.
Dokładne znaczenie zależy od kontekstu. Środowisko uruchomieniowe języka wspólnego zwykle odnosi się do środowiska uruchomieniowego platformy .NET Framework lub środowiska uruchomieniowego platformy .NET.
ClR obsługuje alokację pamięci i zarządzanie nią. ClR to również maszyna wirtualna, która nie tylko wykonuje aplikacje, ale także generuje i kompiluje kod na bieżąco przy użyciu kompilatora JIT .
Implementacja środowiska CLR dla programu .NET Framework jest tylko systemem Windows.
Implementacja środowiska CLR dla platformy .NET (znana również jako Core CLR) jest kompilowana na podstawie tej samej bazy kodu co clR programu .NET Framework. Pierwotnie core CLR był środowiskiem uruchomieniowym silverlight i został zaprojektowany do uruchamiania na wielu platformach, w szczególności Windows i OS X. Jest to nadal międzyplatformowe środowisko uruchomieniowe, w tym obsługa wielu dystrybucji systemu Linux.
Zobacz również środowisko uruchomieniowe.
Core CLR
Środowisko uruchomieniowe języka wspólnego dla platformy .NET.
Zobacz CLR.
CoreRT
W przeciwieństwie do środowiska CLR, CoreRT nie jest maszyną wirtualną, co oznacza, że nie obejmuje obiektów do generowania i uruchamiania kodu na bieżąco, ponieważ nie zawiera JIT. Obejmuje to jednak GC i możliwość identyfikacji typu czasu wykonywania (RTTI) i odbicia. Jednak jego system typów jest zaprojektowany tak, aby metadane do odbicia nie są wymagane. Nie wymaganie metadanych umożliwia posiadanie łańcucha narzędzi AOT , który może łączyć zbędne metadane i (co ważniejsze) identyfikować kod, którego aplikacja nie używa. CoreRT jest w programowania.
Zobacz Wprowadzenie do środowiska CoreRT i laboratorium środowiska uruchomieniowego platformy .NET.
na wiele platform
Możliwość tworzenia i wykonywania aplikacji, która może być używana w wielu różnych systemach operacyjnych, takich jak Linux, Windows i iOS, bez konieczności ponownego zapisywania specjalnie dla każdego z nich. Umożliwia to ponowne użycie kodu i spójność między aplikacjami na różnych platformach.
Zobacz platformę.
ekosystem
Wszystkie narzędzia uruchomieniowe, narzędzia programistyczne i zasoby społeczności używane do tworzenia i uruchamiania aplikacji dla danej technologii.
Termin "Ekosystem ".NET" różni się od podobnych terminów, takich jak "stos ".NET" w jego włączeniu do aplikacji i bibliotek innych firm. Oto przykład w zdaniu:
- "Motywacją platformy .NET Standard było ustanowienie większej jednolitości w ekosystemie platformy .NET".
struktura
Ogólnie rzecz biorąc, kompleksowa kolekcja interfejsów API ułatwiających tworzenie i wdrażanie aplikacji opartych na określonej technologii. W tym ogólnym sensie ASP.NET Core i Windows Forms są przykładami struktur aplikacji. Struktura wyrazów i biblioteka są często używane synonimowo.
Słowo "framework" ma inne znaczenie w następujących kategoriach:
- biblioteki platform
- .NET Framework
- platforma udostępniona
- platforma docelowa
- TFM (nazwa platformy docelowej)
- aplikacja zależna od platformy
Czasami "struktura" odnosi się do implementacji platformy .NET.
biblioteki platform
Znaczenie zależy od kontekstu. Może odwoływać się do bibliotek platformy dla platformy .NET, w takim przypadku odnosi się do tych samych bibliotek, do których odwołuje się biblioteka BCL . Może również odwoływać się do bibliotek platformy ASP.NET Core , które opierają się na bibliotece BCL i udostępniają dodatkowe interfejsy API dla aplikacji internetowych.
GC
Śmieciarz.
Moduł odśmieceń pamięci jest implementacją automatycznego zarządzania pamięcią. GC zwalnia pamięć zajmowaną przez obiekty, które nie są już używane.
Zobacz Odzyskiwanie pamięci.
IL
Język pośredni.
Języki platformy .NET wyższego poziomu, takie jak C#, skompiluj w dół do zestawu instrukcji niezależnie od sprzętu, który jest nazywany językiem pośrednim (IL). Il jest czasami określany jako MSIL (Microsoft IL) lub CIL (Common IL).
JIT
Kompilator just in time.
Podobnie jak w przypadku AOT, ten kompilator tłumaczy język IL na kod maszynowy, który rozumie procesor. W przeciwieństwie do funkcji AOT kompilacja JIT odbywa się na żądanie i jest wykonywana na tej samej maszynie, na których musi działać kod. Ponieważ kompilacja JIT występuje podczas wykonywania aplikacji, czas kompilacji jest częścią czasu wykonywania. W związku z tym kompilatory JIT muszą zrównoważyć czas spędzony na optymalizacji kodu przed oszczędnościami, jakie może wygenerować wynikowy kod. Jednak JIT zna rzeczywisty sprzęt i może uwolnić deweloperów od konieczności dostarczania różnych implementacji.
implementacja platformy .NET
Implementacja platformy .NET obejmuje:
- Co najmniej jedno środowisko uruchomieniowe. Przykłady: CLR, CoreRT.
- Biblioteka klas, która implementuje wersję platformy .NET Standard i może zawierać dodatkowe interfejsy API. Przykłady: listy BCLS dla platform .NET Framework i .NET.
- Opcjonalnie co najmniej jedna platforma aplikacji. Przykłady: ASP.NET, Formularze systemu Windows i WPF są uwzględnione w programach .NET Framework i .NET.
- Opcjonalnie narzędzia programistyczne. Niektóre narzędzia programistyczne są współużytkowane przez wiele implementacji.
Przykłady implementacji platformy .NET:
Aby uzyskać więcej informacji, zobacz Implementacje platformy .NET.
biblioteka
Kolekcja interfejsów API, które mogą być wywoływane przez aplikacje lub inne biblioteki. Biblioteka .NET składa się z co najmniej jednego zestawu.
Biblioteka słów i struktura są często używane synonimowo.
Mono
Implementacja .NET typu open source, międzyplatformowa, która jest używana, gdy jest wymagane małe środowisko uruchomieniowe. Jest to środowisko uruchomieniowe, które obsługuje aplikacje platformy Xamarin w systemach Android, Mac, iOS, tvOS i watchOS i koncentruje się głównie na aplikacjach wymagających niewielkiej ilości miejsca.
Obsługuje wszystkie obecnie opublikowane wersje platformy .NET Standard.
W przeszłości mono zaimplementowało większy interfejs API programu .NET Framework i emulował niektóre z najpopularniejszych funkcji w systemie Unix. Czasami jest używany do uruchamiania aplikacji platformy .NET, które opierają się na tych możliwościach w systemie Unix.
Mono jest zwykle używany z kompilatorem just in time, ale zawiera również pełny statyczny kompilator (kompilacja przed czasem), który jest używany na platformach takich jak iOS.
Aby uzyskać więcej informacji, zobacz dokumentację mono.
Natywna AOT
Tryb wdrażania, w którym aplikacja jest samodzielna i jest przed czasem kompilowana do kodu natywnego w momencie publikowania. Natywne aplikacje AOT nie używają kompilatora JIT w czasie wykonywania. Mogą działać na maszynach, na których nie zainstalowano środowiska uruchomieniowego platformy .NET.
Aby uzyskać więcej informacji, zobacz Native AOT deployment (Wdrażanie natywnego rozwiązania AOT).
.NET
Platforma .NET ma dwa znaczenie, a ta, która ma być przeznaczona, zależy od kontekstu:
- Platforma .NET może służyć jako termin parasolowy dla platformy .NET Standard i wszystkich implementacji i obciążeń platformy .NET.
- Platforma .NET częściej odnosi się do międzyplatformowej, wysokiej wydajności implementacji platformy .NET typu open source, która była nazywana platformą .NET Core. Można go również określać jako .NET 5 (i .NET Core) oraz nowsze wersje lub tylko .NET 5+.
Na przykład pierwsze znaczenie jest zamierzone w frazach, takich jak "implementacje platformy .NET". Drugie znaczenie jest przeznaczone w nazwach, takich jak zestaw .NET SDK i interfejs wiersza polecenia platformy .NET. W przypadku braku kontekstu, który wskazuje, że pierwsze znaczenie ma być zamierzone, załóżmy, że drugie znaczenie jest zamierzone.
Wcześniejsze wersje platformy .NET są znane jako .NET Core 1 do 3.1. Numery wersji pomiń 4, a wersja zgodna z wersją 3.1 jest znana jako .NET 5, upuszczając ciąg "Core" z nazwy. Upuszczanie "Core" zostało zrobione, aby podkreślić, że ta implementacja platformy .NET jest zalecana dla wszystkich nowych programowania. Pominięto wersję 4, aby uniknąć myląc tej nowszej implementacji platformy .NET ze starszą implementacją znaną jako .NET Framework. Bieżąca wersja programu .NET Framework to 4.8.1.
Platforma .NET jest zawsze w pełni kapitalizowana, nigdy ".Net".
Zobacz dokumentację platformy .NET.
.NET CLI
Łańcuch narzędzi dla wielu platform do tworzenia aplikacji i bibliotek dla platformy .NET. Znany również jako interfejs wiersza polecenia platformy .NET Core.
Zobacz Interfejs wiersza polecenia platformy .NET.
.NET Core
Zobacz .NET.
.NET Framework
Implementacja platformy .NET , która działa tylko w systemie Windows. Obejmuje środowisko uruchomieniowe języka wspólnego (CLR), bibliotekę klas bazowych (BCL) i biblioteki struktury aplikacji, takie jak ASP.NET, Formularze systemu Windows i WPF.
Zobacz .NET Framework Guide (Przewodnik po programie .NET Framework).
.NET Native
Łańcuch narzędzi kompilatora, który tworzy kod natywny przed czasem (AOT), w przeciwieństwie do typu just-in-time (JIT).
Kompilacja odbywa się na maszynie dewelopera podobnej do sposobu działania kompilatora i konsolidatora języka C++. Usuwa nieużywany kod i poświęca więcej czasu na optymalizację. Wyodrębnia kod z bibliotek i scala je z plikiem wykonywalny. Wynikiem jest pojedynczy moduł reprezentujący całą aplikację.
Platforma UWP to platforma aplikacji obsługiwana przez platformę .NET Native.
Zobacz dokumentację platformy .NET Native.
Zestaw SDK platformy .NET
Zestaw bibliotek i narzędzi, które umożliwiają deweloperom tworzenie aplikacji i bibliotek dla platformy .NET. Znany również jako zestaw .NET Core SDK.
Zawiera interfejs wiersza polecenia platformy .NET do tworzenia aplikacji, bibliotek platformy .NET i środowiska uruchomieniowego do kompilowania i uruchamiania aplikacji oraz pliku wykonywalnego dotnet (dotnet.exe), który uruchamia polecenia interfejsu wiersza polecenia i uruchamia aplikacje.
Zobacz Omówienie zestawu .NET SDK.
.NET Standard
Formalna specyfikacja interfejsów API platformy .NET, które są dostępne w każdej implementacji platformy .NET.
Specyfikacja platformy .NET Standard jest czasami nazywana biblioteką. Ponieważ biblioteka zawiera implementacje interfejsów API, nie tylko specyfikacje (interfejsy), mylące jest wywoływanie platformy .NET Standard jako "biblioteki".
Zobacz .NET Standard.
NGen
Generowanie natywnych (obrazów).
Tę technologię można traktować jako trwały kompilator JIT . Zwykle kompiluje kod na maszynie, na której jest wykonywany kod, ale kompilacja zwykle występuje w czasie instalacji.
package
Pakiet NuGet — lub tylko pakiet — jest plikiem .zip z co najmniej jednym zestawem o tej samej nazwie wraz z dodatkowymi metadanymi, takimi jak nazwa autora.
Plik .zip ma rozszerzenie nupkg i może zawierać zasoby, takie jak pliki .dll i pliki .xml, do użycia z wieloma platformami docelowymi i wersjami. Po zainstalowaniu w aplikacji lub bibliotece odpowiednie zasoby są wybierane na podstawie platformy docelowej określonej przez aplikację lub bibliotekę. Zasoby definiujące interfejs znajdują się w folderze ref , a zasoby definiujące implementację znajdują się w folderze lib .
platforma
System operacyjny i sprzęt, na który działa, na przykład Windows, macOS, Linux, iOS i Android.
Oto przykłady użycia w zdaniach:
- ".NET Core to międzyplatformowa implementacja platformy .NET".
- "Profile PCL reprezentują platformy firmy Microsoft, a platforma .NET Standard jest niezależna od platformy".
Starsza dokumentacja platformy .NET czasami używa platformy .NET, aby oznaczać implementację platformy .NET lub stosu .NET, w tym wszystkie implementacje. Oba te zastosowania mają tendencję do pomylenia z podstawowym (OS/sprzętem), więc staramy się uniknąć tych użycia.
"Platforma" ma inne znaczenie w frazie "platforma dewelopera", która odnosi się do oprogramowania udostępniającego narzędzia i biblioteki do tworzenia i uruchamiania aplikacji. .NET to międzyplatformowa platforma deweloperów typu open source do tworzenia wielu różnych typów aplikacji.
POCO
PoCO — lub zwykły stary obiekt klasy/CLR — jest strukturą danych platformy .NET, która zawiera tylko właściwości publiczne lub pola. Funkcja POCO nie powinna zawierać żadnych innych elementów członkowskich, takich jak:
- metody
- zdarzenia
- Delegatów
Te obiekty są używane głównie jako obiekty transferu danych (DTO). Czysty obiekt POCO nie dziedziczy innego obiektu ani nie implementuje interfejsu. Często zdarza się, że obiekty POCO są używane z serializacji.
środowisko uruchomieniowe
Ogólnie rzecz biorąc, środowisko wykonywania zarządzanego programu. System operacyjny jest częścią środowiska uruchomieniowego, ale nie jest częścią środowiska uruchomieniowego platformy .NET. Oto kilka przykładów środowisk uruchomieniowych platformy .NET w tym sensie słowa:
- Środowisko uruchomieniowe języka wspólnego (CLR)
- .NET Native (dla platformy UWP)
- Środowisko uruchomieniowe mono
Słowo "runtime" ma inne znaczenie w niektórych kontekstach:
Środowisko uruchomieniowe platformy .NET na stronie pobierania platformy .NET 5.
Środowisko uruchomieniowe platformy .NET lub inne środowiska uruchomieniowe, takie jak środowisko uruchomieniowe platformy ASP.NET Core. Środowisko uruchomieniowe w tym użyciu to zestaw składników, które muszą być zainstalowane na maszynie, aby uruchamiać aplikację zależną od platformy na maszynie. Środowisko uruchomieniowe platformy .NET obejmuje środowisko CLR i platformę udostępnioną platformy .NET, która udostępnia listę BCL.
Biblioteki środowiska uruchomieniowego platformy .NET
Odwołuje się do tych samych bibliotek, do których odwołuje się biblioteka BCL . Jednak inne środowiska uruchomieniowe, takie jak środowisko uruchomieniowe ASP.NET Core, mają różne struktury udostępnione z dodatkowymi bibliotekami opartymi na bibliotece BCL.
Identyfikator środowiska uruchomieniowego (RID).
W tym miejscu środowisko uruchomieniowe oznacza platformę systemu operacyjnego i architekturę procesora CPU uruchomioną na platformie .NET, na przykład:
linux-x64
.Czasami "środowisko uruchomieniowe" jest używane w sensie implementacji platformy .NET, jak w następujących przykładach:
- "Różne środowiska uruchomieniowe platformy .NET implementują określone wersje platformy .NET Standard. … Każda wersja środowiska uruchomieniowego platformy .NET anonsuje najwyższą wersję platformy .NET Standard obsługiwaną przez program ..."
- "Biblioteki, które mają być uruchamiane w wielu środowiskach uruchomieniowych, powinny być przeznaczone dla tej platformy". (odwołując się do platformy .NET Standard)
platforma udostępniona
Znaczenie zależy od kontekstu. Platforma udostępniona .NET odwołuje się do bibliotek zawartych w środowisku uruchomieniowym platformy .NET. W takim przypadku platforma udostępniona dla platformy .NET odwołuje się do tych samych bibliotek, do których odwołuje się biblioteka BCL.
Istnieją inne struktury udostępnione. Platforma udostępniona ASP.NET Core odnosi się do bibliotek zawartych w środowisku uruchomieniowym platformy ASP.NET Core, która obejmuje listę BCL oraz dodatkowe interfejsy API do użycia przez aplikacje internetowe.
W przypadku aplikacji zależnych od platformy platforma udostępniona składa się z bibliotek zawartych w zestawach zainstalowanych w folderze na maszynie, na którym jest uruchamiana aplikacja. W przypadku aplikacji samodzielnie zestawy platform udostępnionych są dołączone do aplikacji.
Aby uzyskać więcej informacji, zobacz Szczegółowe omówienie elementów pierwotnych platformy .NET Core, część 2: struktura udostępniona.
stack
Zestaw technologii programowania, które są używane razem do tworzenia i uruchamiania aplikacji.
"Stos .NET" odnosi się do platformy .NET Standard i wszystkich implementacji platformy .NET. Fraza "stos .NET" może odwoływać się do jednej implementacji platformy .NET.
platforma docelowa
Kolekcja interfejsów API, na których opiera się aplikacja lub biblioteka platformy .NET.
Aplikacja lub biblioteka może kierować do wersji platformy .NET Standard (na przykład .NET Standard 2.0), która jest specyfikacją standardowego zestawu interfejsów API we wszystkich implementacjach platformy .NET. Aplikacja lub biblioteka może również kierować do wersji określonej implementacji platformy .NET, w tym przypadku uzyskuje dostęp do interfejsów API specyficznych dla implementacji. Na przykład aplikacja przeznaczona dla platformy Xamarin.iOS uzyskuje dostęp do otoek interfejsów API systemu iOS udostępnianych przez platformę Xamarin.
W przypadku niektórych platform docelowych (na przykład .NET Framework) dostępne interfejsy API są definiowane przez zestawy instalowane przez implementację platformy .NET w systemie, które mogą obejmować interfejsy API platformy aplikacji (na przykład ASP.NET, WinForms). W przypadku platform docelowych opartych na pakietach interfejsy API platformy są definiowane przez pakiety zainstalowane w aplikacji lub bibliotece.
Zobacz Platformy docelowe.
TFM
Nazwa platformy docelowej.
Standardowy format tokenu określający platformę docelową aplikacji lub biblioteki platformy .NET. Platformy docelowe są zwykle przywołyyzowane za pomocą krótkiej nazwy, takiej jak net462
. Istnieją długie maszyny TFM (takie jak .NETFramework,Version=4.6.2
), ale nie są zwykle używane do określania platformy docelowej.
Zobacz Platformy docelowe.
Platforma UWP
platforma uniwersalna systemu Windows.
Implementacja platformy .NET , która służy do tworzenia aplikacji i oprogramowania systemu Windows z obsługą dotykową dla Internetu rzeczy (IoT). Jest on przeznaczony do ujednolicenia różnych typów urządzeń, które mogą być przeznaczone dla użytkowników, w tym komputerów, tabletów, telefonów, a nawet konsoli Xbox. Platforma UWP udostępnia wiele usług, takich jak scentralizowany sklep z aplikacjami, środowisko wykonywania (AppContainer) i zestaw interfejsów API systemu Windows do użycia zamiast Win32 (WinRT). Aplikacje można pisać w języku C++, C#, Visual Basic i JavaScript. W przypadku korzystania z języków C# i Visual Basic interfejsy API platformy .NET są udostępniane przez platformę .NET.
workload
Typ aplikacji, który tworzy ktoś. Bardziej ogólny niż model aplikacji. Na przykład w górnej części każdej strony dokumentacji platformy .NET, w tym tej, jest lista rozwijana dla obciążeń, która umożliwia przejście do dokumentacji dla sieci Web, urządzeń przenośnych, chmury, chmury, aplikacji natywnych dla chmury i pulpitu.
W niektórych kontekstach obciążenie odnosi się do kolekcji funkcji programu Visual Studio, które można zainstalować w celu obsługi określonego typu aplikacji. Aby zapoznać się z przykładem, zobacz Konfigurowanie obciążeń programu Visual Studio.