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

AOT

Kompilator z wyprzedzeniem.

Podobnie jak w przypadku 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 zwykle jest wykonywana na innym komputerze. Ponieważ łańcuchy narzędzi AOT nie są kompilowane w czasie działania, nie muszą minimalizować czasu spędzonego na kompilowaniu. Oznacza to, że mogą poświęcać więcej czasu na optymalizację. Ponieważ kontekstem AOT jest cała aplikacja, kompilator AOT wykonuje również łączenie między modułami i analizę całego programu, co oznacza, że następuje wszystkie odwołania i jest generowany jeden plik wykonywalny.

Zobacz CoreRT i .NET Native.

model aplikacji

Interfejs API specyficzny dla obciążenia. Oto kilka przykładów:

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

ASP.NET

Oryginalna ASP.NET, która jest dostarczana z .NET Framework, znaną również jako ASP.NET 4.x.

Czasami ASP.NET to pojęcie, które odnosi się zarówno do oryginalnego ASP.NET, jak i ASP.NET Core. Znaczenie, które ten termin ma w danym wystąpieniu, zależy od kontekstu. Zapoznaj się ASP.NET 4.x, aby wyraźnie wyjaśnić, że nie używasz ASP.NET obu implementacji.

Zobacz ASP.NET dokumentacji.

ASP.NET Core

Międzyplatformowa implementacja aplikacji typu open source o wysokiej ASP.NET.

Zobacz ASP.NET Core dokumentacji.

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 może zawierać typy, takie jak interfejsy, klasy, struktury, wyliczenia i delegaty. Zestawy w folderze bin projektu są czasami nazywane plikami binarnymi. Zobacz też bibliotekę.

BCL

Biblioteka klas bazowych.

Zestaw bibliotek, które składają się na system. * (i w ograniczonym zakresie Firma * Microsoft). Obszary nazw. BCL jest platformą ogólnego przeznaczenia niższego poziomu, na podstawie ASP.NET Core wyższego poziomu.

Kod źródłowy listy BCL dla programu .NET 5 (i .NET Core) i nowszych wersji znajduje się w repozytorium środowiska uruchomieniowego .NET. Większość tych interfejsów API listy BCL jest również dostępnych w .NET Framework, więc ten kod źródłowy można myśleć jako o forkie kodu źródłowego .NET Framework BCL.

Następujące terminy często odnoszą się do tej samej kolekcji interfejsów API, do których odwołuje się BCL:

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 programu .NET Framework lub środowiska uruchomieniowego programu .NET 5 (i .NET Core) i nowszych wersji.

ClR obsługuje alokację pamięci i zarządzanie nimi. 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 CLR dla .NET Framework jest Windows tylko.

Implementacja CLR dla programu .NET 5 i nowszych wersji (znana także jako Core CLR) jest zbudowana z tej samej bazy kodu co program .NET Framework CLR. Pierwotnie środowisko CORE CLR było środowiskiem uruchomieniowym programu Silverlight i zostało zaprojektowane do uruchamiania na wielu platformach, w szczególności na Windows i OS X. Jest to nadal międzyplatformowe środowisko uruchomieniowe, teraz obejmuje obsługę wielu dystrybucji systemu Linux.

Zobacz też środowisko uruchomieniowe.

Core CLR

Środowisko uruchomieniowe języka wspólnego dla programu .NET 5 (i .NET Core) i nowszych wersji.

Zobacz CLR.

CoreRT

W przeciwieństwie do środowiska CLR,CoreRT nie jest maszyną wirtualną, co oznacza, że nie obejmuje funkcji do generowania i uruchamiania kodu na bieżąco, ponieważ nie zawiera funkcji JIT. Obejmuje to jednak wykaz globalny oraz możliwość identyfikacji typu w czasie wykonywania (RTTI) i odbicia. Jednak jego system typów został zaprojektowany tak, aby metadane odbicia nie są wymagane. Niewymaganie metadanych umożliwia posiadanie łańcucha narzędzi usługi AOT, który może łączyć zbędne metadane i (co ważniejsze) identyfikować kod, który nie jest przez aplikację. CoreRT jest w rozwoju.

Zobacz Wprowadzenie do środowiska CoreRT i laboratorium środowiska uruchomieniowego .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 tworzyć dla każdego z nich. Umożliwia to ponowne użycie kodu i spójność między aplikacjami na różnych platformach.

Zobacz platformę.

Ekosystemu

Całe oprogramowanie środowiska uruchomieniowego, narzędzia programowe 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 dołączania aplikacji i bibliotek innych firm. Oto przykład w zdaniu:

  • "Motywacją do .NET Standard było ustanowienie większej jednolityości w ekosystemie .NET".

szablon

Ogólnie rzecz biorąc, kompleksowa kolekcja interfejsów API, która ułatwia opracowywanie i wdrażanie aplikacji opartych na określonej technologii. W tym ogólnym sensie struktury ASP.NET Core i Windows Forms są przykładami platform aplikacji. Słowa framework i biblioteka są często używane jako synonimy.

Słowo "framework" ma inne znaczenie w następujących terminach:

Czasami "framework" odnosi się do implementacji programu .NET. Na przykład artykuł może wywołać platformę .NET 5 jako platformę.

biblioteki struktury

Znaczenie zależy od kontekstu. Może odwoływać się do bibliotek struktury dla programu .NET 5 (i .NET Core)i nowszych wersji , w tym przypadku odwołuje się do tych samych bibliotek, do których odwołuje się biblioteka BCL. Może również odwoływać się do bibliotek ASP.NET Core framework, które są kompilowane na podstawie listy BCL i zapewniają dodatkowe interfejsy API dla aplikacji internetowych.

GC

Moduł odśmiecania pamięci.

Moduł odśmiecania pamięci jest implementacją automatycznego zarządzania pamięcią. Gc wolnego pamięci zajęte przez obiekty, które nie są już w użyciu.

Zobacz Odzyskiwanie pamięci.

IL

Język pośredni.

Języki .NET wyższego poziomu, takie jak C#, są kompilowane do zestawu instrukcji niezależny od sprzętu, który jest nazywany językiem pośrednim (IL, Intermediate Language). 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 usługi AOT kompilacja JIT odbywa się na żądanie i jest wykonywana na tej samej maszynie, na których musi działać kod. Ponieważ kompilacja JIT odbywa się podczas wykonywania aplikacji, czas kompilacji jest częścią czasu wykonywania. W związku z tym kompilatory JIT muszą równoważyć czas spędzony na optymalizacji kodu z oszczędnościami, które może przynieść wynikowy kod. Jednak dostęp JIT zna rzeczywisty sprzęt i może nie mieć konieczności wdrażania różnych implementacji przez deweloperów.

implementacja programu .NET

Implementacja programu .NET obejmuje:

  • Co najmniej jedno środowisko uruchomieniowe. Przykłady: CLR, CoreRT.
  • Biblioteka klas, która implementuje wersję .NET Standard i może zawierać dodatkowe interfejsy API. Przykłady: bcls for .NET Framework oraz .NET 5 (i .NET Core) i nowsze wersje.
  • Opcjonalnie co najmniej jedna framework aplikacji. Przykłady: ASP.NET, Windows Forms i WPF są zawarte w .NET Framework i .NET 5.
  • Opcjonalnie narzędzia deweloperskie. Niektóre narzędzia programowe są współdzielone przez wiele implementacji.

Przykłady implementacji .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.

Słowa biblioteka i framework są często używane jako synonimy.

Mono

Mono to open source międzyplatformowej implementacji platformy .NET, która jest używana głównie wtedy, gdy wymagane jest małe środowisko uruchomieniowe. Jest to środowisko uruchomieniowe, które działa w aplikacjach Xamarin w systemach Android, Mac, iOS, tvOS i watchOS, i koncentruje się głównie na aplikacjach, które wymagają niewielkiego zasięgu.

Obsługuje ona wszystkie obecnie opublikowane wersje .NET Standard wersji.

W przeszłości mono implementowały większy interfejs API .NET Framework i emulowały niektóre z najpopularniejszych funkcji w systemie Unix. Jest on czasami używany do uruchamiania aplikacji .NET, które korzystają z tych możliwości w systemie Unix.

Mono jest zwykle używany z kompilatorem just in time,ale zawiera również pełny kompilator statyczny (kompilacja z wyprzedzeniem) używany na platformach takich jak iOS.

Zobacz dokumentację mono.

.NET

  • Ogólnie rzecz biorąc, .NET to ogólny termin dla wszystkich .NET Standard i wszystkich implementacji i obciążeń .NET.
  • Dokładniej mówiąc, .NET odnosi się do implementacji programu .NET, która jest zalecana dla wszystkich nowych programów deweloperskich: .NET 5 (i .NET Core) i nowszych wersjach.

Na przykład pierwsze znaczenie jest zamierzone w frazach, takich jak "implementacje .NET". Drugie znaczenie ma nazwy, takie jak zestaw SDK platformy .NET i interfejs wiersza polecenia platformy .NET.

.NET jest zawsze w pełni literami, nigdy ".Net".

Zobacz dokumentację programu .NET

.NET 5 i nowsze wersje

Międzyplatformowa implementacja platformy .NET typu open source o wysokiej wydajności. Obejmuje środowisko uruchomieniowe języka wspólnego(CLR),środowisko uruchomieniowe AOT (CoreRT, w środowisku dewelopera), bibliotekę klas bazowych(BCL)i zestaw SDK platformy .NET.

Wcześniejsze wersje tej implementacji .NET są znane jako .NET Core. .NET 5 to następna wersja po programie .NET Core 3.1. Wersja 4 została pominięta, aby uniknąć mylinia nowszej implementacji programu .NET ze starszą implementacją, która jest znana jako .NET Framework. Bieżąca wersja .NET Framework to 4.8.

Zobacz dokumentację programu .NET.

.NET CLI

Międzyplatformowy zestaw narzędzi do tworzenia aplikacji i bibliotek dla platformy .NET 5 (i .NET Core) i nowszych wersji. Znany również jako interfejs wiersza polecenia platformy .NET Core.

Zobacz interfejs wiersza polecenia .NET.

.NET Core

Zobacz .NET 5 i nowsze wersje.

.NET Framework

Implementacja programu .NET, która działa tylko na Windows. Obejmuje środowisko uruchomieniowe języka wspólnego(CLR),bibliotekę klas bazowych(BCL)i biblioteki struktury aplikacji, takie jak ASP.NET, Windows Forms i WPF.

Zobacz .NET Framework Przewodnik po programie.

Architektura .NET Native

Łańcuch narzędzi kompilatora, który tworzy kod natywny wcześniej(AOT),w przeciwieństwie dojit( just in time).

Kompilacja odbywa się na komputerze dewelopera podobnie do sposobu działania kompilatora i linkera języka C++. Usuwa nieużywany kod i poświęca więcej czasu na jego optymalizację. Wyodrębnia kod z bibliotek i scala je z plikiem wykonywalnym. Wynikiem jest pojedynczy moduł, który reprezentuje całą aplikację.

UWP to framework aplikacji obsługiwany przez .NET Native.

Zobacz .NET Native dokumentacji.

Zestaw SDK .NET

Zestaw bibliotek i narzędzi, które umożliwiają deweloperom tworzenie aplikacji i bibliotek .NET dla programu .NET 5 (i .NET Core) i nowszych wersji. Znane również jako zestaw .NET Core SDK.

Zawiera interfejs wiersza polecenia .NET do tworzenia aplikacji, biblioteki .NET i środowisko uruchomieniowe do tworzenia i uruchamiania aplikacji oraz plik wykonywalny dotnet (dotnet.exe), który uruchamia aplikacje i polecenia interfejsu wiersza polecenia.

Zobacz .NET SDK Overview (Omówienie zestawu SDK platformy .NET).

.NET Standard

Formalna specyfikacja interfejsów API .NET, które są dostępne w każdej implementacji .NET.

Specyfikacja .NET Standard jest czasami nazywana biblioteką. Ponieważ biblioteka zawiera implementacje interfejsu API, nie tylko specyfikacje (interfejsy), wywołanie "biblioteki" .NET Standard mylące.

Zobacz .NET Standard.

NGEN

Generowanie natywne (obraz).

Tę technologię można myśleć jak o trwałym kompilatorze JIT. Zwykle kompiluje kod na maszynie, na której kod jest wykonywany, ale kompilacja zwykle odbywa się w czasie instalacji.

package

Pakiet NuGet lub tylko pakiet jest plikiem.zipz 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żytku z wieloma platformami docelowymi i wersjami. Po zainstalowaniu w aplikacji lub bibliotece odpowiednie zasoby są wybierane na podstawie struktury 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órych 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, .NET Standard są niezależne od platformy".

Starsza dokumentacja platformy .NET czasami używa "platformy .NET", aby oznaczać implementację platformy .NET lub stos .NET, w tym wszystkie implementacje. Oba te zastosowania zwykle mylą się z podstawowym znaczeniem (system operacyjny/sprzęt), dlatego staramy się ich unikać.

Fraza "Platforma" ma inne znaczenie w frazie "platforma deweloperska", która odnosi się do oprogramowania, które udostępnia narzędzia i biblioteki do tworzenia i uruchamiania aplikacji. .NET to międzyplatformowa platforma deweloperska typu open source do tworzenia wielu różnych typów aplikacji.

środowisko uruchomieniowe

Ogólnie rzecz biorąc, środowisko wykonywania programu zarządzanego. System operacyjny jest częścią środowiska uruchomieniowego, ale nie jest częścią środowiska uruchomieniowego .NET. Oto kilka przykładów środowisk uruchomieniowych .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 .NET na stronie pobierania programu .NET 5.

    Możesz pobrać środowisko uruchomieniowe .NET lub inne środowiska uruchomieniowe, takie jak ASP.NET Core uruchomieniowe. Środowisko uruchomieniowe w tym użyciu to zestaw składników, które należy zainstalować na maszynie, aby na maszynie uruchomić aplikację zależną od struktury. Środowisko uruchomieniowe .NET zawiera środowisko CLR i platformę udostępnioną .NET,która udostępnia bibliotekę BCL.

  • Biblioteki środowiska uruchomieniowego .NET

    Odwołuje się do tych samych bibliotek, do których odwołuje się biblioteka BCL. Jednak inne środowiska uruchomieniowe, takie jak ASP.NET Core uruchomieniowe, mają różne udostępnione struktury zdodatkowymi bibliotekami, które są kompilowane na podstawie listy BCL.

  • Identyfikator środowiska uruchomieniowego (RID).

    Środowisko uruchomieniowe oznacza platformę systemu operacyjnego i architekturę procesora CPU, na których działa aplikacja .NET, na przykład: linux-x64 .

  • Czasami "środowisko uruchomieniowe" jest używane w sensie implementacji programu .NET,jak w poniższych przykładach:

    • "Różne środowiska uruchomieniowe .NET implementują określone wersje .NET Standard. … Każda wersja środowiska uruchomieniowego .NET anonsuje najwyższą .NET Standard, która obsługuje..."
    • "Biblioteki przeznaczone do uruchamiania w wielu środowiskach uruchomieniowych powinny być przeznaczone dla tej struktury". (odwołując się do .NET Standard)

shared framework

Znaczenie zależy od kontekstu. Udostępniona framework .NET odwołuje się do bibliotek zawartych w środowisku uruchomieniowym .NET. W tym przypadku udostępniona framework dla programu .NET 5 (i .NET Core) i nowszych wersji odwołuje się do tych samych bibliotek, do których odwołuje się biblioteka BCL.

Istnieją inne udostępnione struktury. Współużytkowanie ASP.NET Core odnosi się do bibliotek zawartych w środowisku uruchomieniowym usługi ASP.NET Core,w tym listy BCL oraz dodatkowych interfejsów API do użycia przez aplikacje internetowe.

W przypadku aplikacji zależnychod struktury udostępniona framework składa się z bibliotek zawartych w zestawach zainstalowanych w folderze na komputerze, na którym jest uruchomiona aplikacja. W przypadku aplikacji samodzielnychudostępnione zestawy struktury są dołączone do aplikacji.

Aby uzyskać więcej informacji, zobacz Szczegółowe informacje o typach pierwotnych .NET Core, część 2: udostępniona framework.

stack

Zestaw technologii programowania, które są używane razem do kompilowania i uruchamiania aplikacji.

"Stos .NET" odnosi się do .NET Standard i wszystkich implementacji .NET. Fraza "stos .NET" może odnosić się do jednej implementacji programu .NET.

docelowa framework

Kolekcja interfejsów API, na których opiera się aplikacja lub biblioteka .NET.

Aplikacja lub biblioteka może być docelową wersją usługi .NET Standard (na przykład .NET Standard 2.0), która jest specyfikacją standardowego zestawu interfejsów API we wszystkich implementacjach .NET. Aplikacja lub biblioteka może również dotyczyć wersji określonej implementacji .NET. W takim przypadku uzyskuje ona dostęp do interfejsów API specyficznych dla implementacji. Na przykład aplikacja, która jest przeznaczony dla platformy Xamarin.iOS, uzyskuje dostęp do otok interfejsu API systemu iOS dostarczanych przez platformę Xamarin.

W przypadku niektórych platform docelowych (na przykład .NET Framework) dostępne interfejsy API są definiowane przez zestawy, które implementacja .NET instaluje w systemie, co może obejmować interfejsy API struktury aplikacji (na przykład ASP.NET, WinForms). W przypadku platform docelowych opartych na pakietach interfejsy API struktury są definiowane przez pakiety zainstalowane w aplikacji lub bibliotece.

Zobacz Target Frameworks (Struktury docelowe).

TFM

Moniker struktury docelowej.

Standardowy format tokenu do określania docelowej struktury aplikacji lub biblioteki .NET. Do platform docelowych zwykle odwołuje się krótka nazwa, taka jak net462 . Long-form TFMs (np. . NETFramework,Version=4.6.2) istnieje, ale zazwyczaj nie są używane do określania docelowej struktury.

Zobacz Target Frameworks (Struktury docelowe).

Platforma UWP

Universal Windows Platform.

Implementacja programu .NET, która służy do tworzenia aplikacji i oprogramowania Windows dla Internet rzeczy (IoT) z obsługą dotyku. Został on zaprojektowany w celu ujednolicenia różnych typów urządzeń docelowych, w tym komputerów, tabletów, telefonów, a nawet konsoli Xbox. Na platformie uniwersalnej systemu Windows jest oferowanych wiele usług, takich jak scentralizowany sklep z aplikacjami, środowisko wykonywania (AppContainer) i zestaw interfejsów API Windows do użycia zamiast Win32 (WinRT). Aplikacje można zapisywać w językach C++, C#, Visual Basic i JavaScript. W przypadku korzystania z języka C# Visual Basic interfejsy API .NET są udostępniane przez program .NET 5 (i .NET Core) i nowsze wersje.

workload

Typ aplikacji, która jest przez kogoś budować. Bardziej ogólny niż model aplikacji. Na przykład w górnej części każdej strony dokumentacji platformy .NET, w tym tej, znajduje się lista rozwijana dla obciążeń , która umożliwia przełączenie się do dokumentacji dla sieci Web, aplikacji mobilnych, chmury, pulpitu i Machine Learning & Data.

W niektórych kontekstach obciążenie odnosi się do kolekcji Visual Studio funkcji, które można zainstalować w celu obsługi określonego typu aplikacji. Aby uzyskać przykład, zobacz Select a workload (Wybieranie obciążenia).

Zobacz też