.NET-Architekturkomponenten.NET architectural components

Eine .NET-App wird für .NET-Implementierungen entwickelt und wird in mindestens einer ausgeführt.A .NET app is developed for and runs in one or more implementations of .NET. Implementierungen von .NET sind z.B. .NET Framework, .NET Core und Mono.Implementations of .NET include the .NET Framework, .NET Core, and Mono. Der .NET Standard ist die API-Spezifikation, die allen .NET-Implementierungen zugrunde liegt.There is an API specification common to all implementations of .NET that's called the .NET Standard. Dieser Artikel bietet eine kurze Einführung in jedes dieser Konzepte.This article gives a brief introduction to each of these concepts.

.NET-Standard.NET Standard

Der .NET Standard besteht aus einem Satz von APIs, die durch die Basisklassenbibliothek einer .NET-Implementierung implementiert werden.The .NET Standard is a set of APIs that are implemented by the Base Class Library of a .NET implementation. Formeller ausgedrückt ist es eine Spezifikation von .NET-APIs, die eine einheitliche Gruppe von Verträgen bilden, mit denen Sie Code kompilieren.More formally, it's a specification of .NET APIs that make up a uniform set of contracts that you compile your code against. Diese Verträge werden in jeder .NET-Implementierung implementiert.These contracts are implemented in each .NET implementation. Dadurch wird Portabilität zwischen verschiedenen .NET-Implementierungen ermöglicht, sodass Ihr Code überall ausgeführt werden kann.This enables portability across different .NET implementations, effectively allowing your code to run everywhere.

Der .NET Standard ist auch ein Zielframework.The .NET Standard is also a target framework. Wenn sich Ihr Code an eine Version des .NET Standards richtet, kann er auf jeder .NET-Implementierung ausgeführt werden, die diese Version des .NET Standards unterstützt.If your code targets a version of the .NET Standard, it can run on any .NET implementation which supports that version of the .NET Standard.

Weitere Informationen zum .NET Standard und wie Sie dafür programmieren, finden Sie im Thema .NET Standard.To learn more about the .NET Standard and how to target it, see the .NET Standard topic.

.NET-Implementierungen.NET implementations

Jede Implementierung von .NET umfasst die folgenden Komponenten:Each implementation of .NET includes the following components:

  • Mindestens eine Runtime.One or more runtimes. Beispiele: CLR für .NET Framework, CoreCLR und CoreRT für .NET CoreExamples: CLR for .NET Framework, CoreCLR and CoreRT for .NET Core.
  • Eine Klassenbibliothek, die den .NET Standard und ggf. zusätzliche APIs implementiert.A class library that implements the .NET Standard and may implement additional APIs. Beispiele: .NET Framework-Basisklassenbibliothek, .NET Core-BasisklassenbibliothekExamples: .NET Framework Base Class Library, .NET Core Base Class Library.
  • Optional mindestens ein Anwendungsframework.Optionally, one or more application frameworks. Beispiele: ASP.NET, Windows Forms und Windows Presentation Foundation (WPF) in .NET FrameworkExamples: ASP.NET, Windows Forms, and Windows Presentation Foundation (WPF) are included in the .NET Framework.
  • Optional Entwicklungstools.Optionally, development tools. Einige Entwicklungstools werden zwischen mehreren Implementierungen freigegeben.Some development tools are shared among multiple implementations.

Es gibt vier primäre .NET-Implementierungen, die Microsoft aktiv entwickelt und wartet: .NET Core, .NET Framework, Mono und die universelle Windows-Plattform (UWP)There are four primary .NET implementations that Microsoft actively develops and maintains: .NET Core, .NET Framework, Mono, and UWP.

.NET Core.NET Core

.NET Core ist eine plattformübergreifende Implementierung von .NET und wurde entwickelt, um Server- und Cloud-Arbeitsauslastungen nach Maß zu bewältigen..NET Core is a cross-platform implementation of .NET and designed to handle server and cloud workloads at scale. Es kann unter Windows, macOS und Linux ausgeführt werden.It runs on Windows, macOS and Linux. Damit wird der .NET Standard implementiert. Code, der auf den .NET Standard abzielt, kann also in .NET Core ausgeführt werden.It implements the .NET Standard, so code that targets the .NET Standard can run on .NET Core. ASP.NET Core funktioniert in .NET Core.ASP.NET Core runs on .NET Core.

Weitere Informationen zu .NET Core finden Sie unter Leitfaden für .NET Core und Wahl zwischen .NET Core und .NET Framework für Server-Apps.To learn more about .NET Core, see the .NET Core Guide and Choosing between .NET Core and .NET Framework for server apps.

.NET Framework.NET Framework

Das 2002 auf den Markt gebrachte .NET Framework ist die ursprüngliche .NET-Implementierung.The.NET Framework is the original .NET implementation that has existed since 2002. Dieses .NET Framework haben .NET-Entwickler seit jeher verwendet.It's the same .NET Framework that existing .NET developers have always used. .NET Framework 4.5 und spätere Versionen implementieren den .NET Standard. Code, der auf den .NET Standard abzielt, kann also in diesen .NET Framework-Versionen ausgeführt werden.Versions 4.5 and later implement the .NET Standard, so code that targets the .NET Standard can run on those versions of the .NET Framework. .NET Framework enthält zusätzliche Windows-spezifische APIs, wie z.B. APIs für die Windows-Desktopentwicklung mit Windows Forms und WPF.It contains additional Windows-specific APIs, such as APIs for Windows desktop development with Windows Forms and WPF. Das .NET Framework wurde für das Erstellen von Windows-Desktopanwendungen optimiert.The .NET Framework is optimized for building Windows desktop applications.

Weitere Informationen zu .NET Framework finden Sie im Leitfaden für .NET Framework.To learn more about the .NET Framework, see the .NET Framework Guide.

MonoMono

Bei Mono handelt es sich um eine .NET-Implementierung, die in erster Linie verwendet wird, wenn eine kleine Runtime erforderlich ist.Mono is a .NET implementation that is mainly used when a small runtime is required. Mono ist die Runtime für Xamarin-Anwendungen unter Android, Mac, iOS, tvOS und watchOS und ist hauptsächlich auf einen geringen Ressourcenbedarf ausgelegt.It is the runtime that powers Xamarin applications on Android, Mac, iOS, tvOS and watchOS and is focused primarily on a small footprint.

Außerdem unterstützt Mono alle derzeit veröffentlichten Versionen des .NET Standards.It supports all of the currently published .NET Standard versions.

In der Vergangenheit hat Mono die größere API des .NET Framework implementiert und einige der beliebtesten Funktionen unter Unix emuliert.Historically, Mono implemented the larger API of the .NET Framework and emulated some of the most popular capabilities on Unix. Manchmal wird es zum Ausführen von .NET-Anwendungen verwendet, die auf diesen Unix-Funktionen basieren.It is sometimes used to run .NET applications that rely on those capabilities on Unix.

Mono wird in der Regel mit einem Just-In-Time-Compiler verwendet. Es enthält aber auch einen vollständig statischen Compiler (Ahead-of-time-Kompilierung), der auf Plattformen wie iOS verwendet wird.Mono is typically used with a just-in-time compiler, but it also features a full static compiler (ahead-of-time compilation) that is used on platforms like iOS.

Weitere Informationen zu Mono finden Sie in der Mono-Dokumentation.To learn more about Mono, see the Mono documentation.

Universelle Windows-Plattform (UWP)Universal Windows Platform (UWP)

Die UWP ist eine Implementierung von .NET, mit der moderne Windows-Anwendungen für Touchscreengeräte und Software für das Internet der Dinge (Internet of Things, IoT) erstellt werden.UWP is an implementation of .NET that is used for building modern, touch-enabled Windows applications and software for the Internet of Things (IoT). Sie wurde als einheitliche Plattform entwickelt, um das Programmieren für ganz verschiedene Gerätetypen, von PCs, Tablets, Phablets über Smartphones bis hin zur Xbox, zu ermöglichen.It's designed to unify the different types of devices that you may want to target, including PCs, tablets, phablets, phones, and even the Xbox. Die UWP bietet viele Dienste, z.B. einen zentralen App Store, eine Ausführungsumgebung (AppContainer) und mehrere Windows-APIs, die anstelle von Win32 (WinRT) verwendet werden.UWP provides many services, such as a centralized app store, an execution environment (AppContainer), and a set of Windows APIs to use instead of Win32 (WinRT). Apps können auf dieser Plattform in C++, C#, VB.NET und JavaScript geschrieben werden.Apps can be written in C++, C#, VB.NET, and JavaScript. Die .NET-APIs für C# und VB.NET werden von .NET Core bereitgestellt.When using C# and VB.NET, the .NET APIs are provided by .NET Core.

Weitere Informationen zur UWP finden Sie unter Einführung in die universelle Windows-Plattform.To learn more about UWP, see Intro to the Universal Windows Platform.

.NET-Runtimes.NET runtimes

Eine Laufzeit ist die Ausführungsumgebung eines verwalteten Programms.A runtime is the execution environment for a managed program. Das Betriebssystem ist Teil der Laufzeitumgebung, gehört jedoch nicht zur .NET-Runtime.The OS is part of the runtime environment but is not part of the .NET runtime. Dies sind einige Beispiele für .NET-Runtimes:Here are some examples of .NET runtimes:

  • Die Common Language Runtime (CLR) für das .NET FrameworkCommon Language Runtime (CLR) for the .NET Framework
  • Die Core Common Language Runtime (CoreCLR) für .NET CoreCore Common Language Runtime (CoreCLR) for .NET Core
  • .NET Native für die universelle Windows-Plattform.NET Native for Universal Windows Platform
  • Die Mono-Runtime für Xamarin.iOS, Xamarin.Android, Xamarin.Mac und das Mono-DesktopframeworkThe Mono runtime for Xamarin.iOS, Xamarin.Android, Xamarin.Mac, and the Mono desktop framework

.NET-Tools und die allgemeine Infrastruktur.NET tooling and common infrastructure

Es stehen verschiedene Tools und Infrastrukturkomponenten zur Verfügung, die in allen Implementierungen von .NET funktionieren,You have access to an extensive set of tools and infrastructure components that work with every implementation of .NET. u.a.:These include, but are not limited to the following:

  • Die .NET-Sprachen und deren CompilerThe .NET languages and their compilers
  • Das .NET-Projektsystem, das auf CSPROJ-, VBPROJ- und FSPROJ-Dateien basiert)The .NET project system (based on .csproj, .vbproj, and .fsproj files)
  • MSBuild, das Buildmodul, mit dem Projekte erstellt werdenMSBuild, the build engine used to build projects
  • NuGet, der Paket-Manager von Microsoft für .NETNuGet, Microsoft's package manager for .NET
  • Open-Source-Buildorchestrierungtools, z.B. CAKE und FAKEOpen-source build orchestration tools, such as CAKE and FAKE

Siehe auchSee also

Wahl zwischen .NET Core und .NET Framework für Server-Apps Choosing between .NET Core and .NET Framework for server apps
.NET-Standard.NET Standard
Leitfaden für .NET Core.NET Core Guide
Leitfaden für .NET Framework.NET Framework Guide
Leitfaden für C#C# Guide
Leitfaden für F#F# Guide
Leitfaden für VB.NETVB.NET Guide