Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
.NET ist eine kostenlose plattformübergreifende Open-Source-Entwicklerplattform zum Erstellen vieler Arten von Anwendungen. Es kann Programme ausführen, die in mehreren Sprachen geschrieben wurden, wobei C# am beliebtesten ist. Sie basiert auf einer leistungsfähigen Laufzeit, die in der Produktion von vielen apps mit hoher Skalierung verwendet wird.
Informationen zum Herunterladen von .NET und zum Schreiben Ihrer ersten App finden Sie unter "Erste Schritte".
Die .NET-Plattform wurde entwickelt, um Produktivität, Leistung, Sicherheit und Zuverlässigkeit zu gewährleisten. Sie stellt die automatische Speicherverwaltung über einen Garbage Collector (GC) bereit. Sie ist aufgrund der Verwendung eines GC- und strengen Sprachcompilers typsicher und speichersicher. Es bietet Parallelität über async
/await
und Task
Grundtypen. Es enthält eine große Anzahl von Bibliotheken, die über eine breite Funktionalität verfügen und für die Leistung auf mehreren Betriebssystemen und Chiparchitekturen optimiert wurden.
.NET verfügt über die folgenden Entwurfspunkte:
- Die Produktivität ist voll gestapelt mit Laufzeit, Bibliotheken, Sprache und Tools, die alle zur Benutzerfreundlichkeit von Entwicklern beitragen.
- Sicherer Code ist das primäre Computemodell, während unsicherer Code zusätzliche manuelle Optimierungen ermöglicht.
- Statischer und dynamischer Code werden beide unterstützt und ermöglichen eine breite Palette unterschiedlicher Szenarien.
- Systemeigene Code-Interoperabilität und systeminterne Hardware sind niedrige Kosten und high-fidelity (roher API- und Anweisungszugriff).
- Code ist plattformübergreifend portierbar (Betriebssystem- und Chiparchitektur), während die Plattformadressierung Spezialisierung und Optimierung ermöglicht.
- Die Anpassung über Programmierdomänen hinweg (Cloud, Client, Gaming) ist mit spezialisierten Implementierungen des allgemeinen Programmiermodells aktiviert.
- Branchenstandards wie OpenTelemetry und gRPC werden gegenüber maßgeschneiderten Lösungen bevorzugt.
.NET wird von Microsoft und einer globalen Community gemeinsam verwaltet. Regelmäßige Updates stellen sicher, dass Benutzer sichere und zuverlässige Anwendungen in Produktionsumgebungen bereitstellen.
Komponenten
.NET enthält die folgenden Komponenten:
- Laufzeit - führt Anwendungscode aus.
- Bibliotheken – stellt Hilfsfunktionen wie die JSON-Analyse bereit.
- Compiler : Kompiliert C#-Quellcode (und andere Sprachen) in ausführbaren Code (Laufzeit).
- SDK und andere Tools – ermöglichen das Erstellen und Überwachen von Apps mit modernen Workflows.
- App-Stapel , z. B. ASP.NET Core und Windows Forms, die das Schreiben von Apps ermöglichen.
Die Laufzeit, Bibliotheken und Sprachen sind die Säulen des .NET-Stapels. Komponenten höherer Ebene wie .NET-Tools und App-Stapel wie ASP.NET Core bauen auf diesen Säulen auf. C# ist die primäre Programmiersprache für .NET, und ein Großteil von .NET wird in C# geschrieben.
C# ist objektorientiert und die Laufzeit unterstützt die Objektausrichtung. C# erfordert Garbage Collection und die Laufzeit stellt einen Garbage Collector für die Ablaufverfolgung bereit. Die Bibliotheken (und auch die App-Stapel) gestalten diese Funktionen in Konzepte und Objektmodelle, mit denen Entwickler Algorithmen produktiv in intuitive Workflows schreiben können.
Die Kernbibliotheken machen Tausende von Typen verfügbar, von denen viele in die C#-Sprache integriert und in die Sprache C# integriert sind. Mit der C# foreach
-Anweisung können Sie beispielsweise beliebige Auflistungen aufzählen. Musterbasierte Optimierungen ermöglichen die List<T>
einfache und effiziente Verarbeitung von Sammlungen. Sie können die Ressourcenverwaltung bis zur Garbage Collection belassen, aber die Aufforderungsbereinigung ist über IDisposable
die direkte Sprachunterstützung in der using
Anweisung möglich.
Die Unterstützung für das gleichzeitige Ausführen mehrerer Dinge ist für praktisch alle Workloads von grundlegender Bedeutung. Dies könnte Clientanwendungen sein, die Hintergrundverarbeitung durchführen, während die Benutzeroberfläche reaktionsfähig bleibt, Dienste, die viele Tausend gleichzeitige Anforderungen verarbeiten, Geräte, die auf eine Vielzahl gleichzeitiger Reize reagieren, oder hochbetriebene Maschinen parallelisieren die Verarbeitung rechenintensiver Vorgänge. Die asynchrone Programmierungsunterstützung ist ein erstklassiges Feature der C#-Programmiersprache, das die async
Funktionen und await
Schlüsselwörter bereitstellt, die das Schreiben und Verfassen asynchroner Vorgänge vereinfachen und gleichzeitig die vollständigen Vorteile aller Steuerungsflusskonstrukte genießen, die die Sprache zu bieten hat.
Das Typsystem bietet eine erhebliche Breite, catering etwas gleichermaßen zu Sicherheit, Beschreibung, Dynamik und nativer Interoperabilität. In erster Linie ermöglicht das Typsystem ein objektorientiertes Programmiermodell. Es umfasst Typen, (einzelne Basisklassenvererbung), Schnittstellen (einschließlich Standardmethodenimplementierungen) und die virtuelle Methodenverteilung, um ein sinnvolles Verhalten für alle Typenebenen bereitzustellen, die die Objektausrichtung zulässt. Generische Typen sind allgegenwärtig und ermöglichen es Ihnen, Klassen auf einen oder mehrere Typen zu spezialisieren.
Die .NET-Runtime stellt die automatische Speicherverwaltung über einen Garbage Collector bereit. Für jede Sprache ist das Speicherverwaltungsmodell wahrscheinlich das wichtigste Merkmal. Dies gilt für .NET-Sprachen. .NET verfügt über ein Selbstoptimierungs-, Ablaufverfolgungs-GC. Es zielt darauf ab, "praktische" Verwendung im allgemeinen zu bieten und gleichzeitig Konfigurationsoptionen für extremere Workloads anzubieten. Die aktuelle GC ist das Ergebnis vieler Jahre Investitionen und Erkenntnisse aus einer Vielzahl von Arbeitslasten.
Werttypen und gestapelte Speicherblöcke bieten im Gegensatz zu . Die gcverwalteten Typen von NET. Die meisten Grundtypen in .NET, z. B. ganzzahlige Typen, sind Werttypen, und Benutzer können ihre eigenen Typen mit ähnlicher Semantik definieren. Werttypen werden vollständig durch unterstützt. Das Generikasystem von NET bedeutet, dass generische Typen wie List<T>
flache Speicherdarstellungen von Werttypsammlungen ohne Aufwand bereitstellen können.
Reflection ist ein Paradigma "Programme als Daten", das es einem Teil eines Programms ermöglicht, eine andere dynamisch abzufragen und aufzurufen, was Assemblys, Typen und Member betrifft. Es ist besonders nützlich für spät gebundene Programmiermodelle und -tools.
Ausnahmen sind das primäre Fehlerbehandlungsmodell in .NET. Ausnahmen haben den Vorteil, dass Fehlerinformationen nicht in Methodensignaturen dargestellt oder von jeder Methode behandelt werden müssen. Die ordnungsgemäße Ausnahmebehandlung ist für die Anwendungssicherheit unerlässlich. Um zu verhindern, dass Ihre App abstürzt, können Sie absichtlich erwartete Ausnahmen in Ihrem Code behandeln. Eine abgestürzte App ist zuverlässiger und diagnosefähiger als eine App mit nicht definiertem Verhalten.
App-Stapel, z. B. ASP.NET Core und Windows Forms, bauen auf und nutzen Sie Bibliotheken, Sprachen und Laufzeit auf niedriger Ebene. Die App-Stapel definieren die Art und Weise, wie Apps erstellt werden, und deren Ausführungslebenszyklus.
Das SDK und andere Tools ermöglichen eine moderne Entwicklerumgebung, sowohl auf einem Entwicklerdesktop als auch für die kontinuierliche Integration (CI). Die moderne Entwicklerumgebung umfasst die Möglichkeit, Code zu erstellen, zu analysieren und zu testen. .NET-Projekte können häufig durch einen einzigen dotnet build
Befehl erstellt werden, der das Wiederherstellen von NuGet-Paketen und das Erstellen von Abhängigkeiten koordiniert.
NuGet ist der Paket-Manager für .NET. Es enthält Hunderte von Tausenden von Paketen, die Funktionen für viele Szenarien implementieren. Ein Großteil der Apps basiert auf NuGet-Paketen für einige Funktionen. Der NuGet-Katalog wird von Microsoft verwaltet.
Frei und Open Source
.NET ist kostenlos, Open Source und ist ein .NET Foundation-Projekt . .NET wird von Microsoft und der Community auf GitHub in mehreren Repositorys verwaltet.
.NET-Quell- und Binärdateien werden mit der MIT-Lizenz lizenziert. Zusätzliche Lizenzen gelten für Windows.
Unterstützung
.NET wird von mehreren Organisationen unterstützt , die sicherstellen, dass .NET auf mehreren Betriebssystemen ausgeführt werden kann und auf dem neuesten Stand gehalten wird. Es kann auf Arm64-, x64- und x86-Architekturen verwendet werden.
Neue Versionen von .NET werden pro Version und Supportrichtlinien jährlich im November veröffentlicht. Es wird monatlich am Patch-Dienstag (zweiter Dienstag) aktualisiert, in der Regel um 10 Uhr Pazifische Zeit.
.NET-Ökosystem
Es gibt mehrere Varianten von .NET, die jeweils einen anderen App-Typ unterstützen. Der Grund für mehrere Varianten ist teil historisch, teil technisch.
.NET-Implementierungen:
- .NET Framework - Das ursprüngliche .NET. Sie bietet Zugriff auf die breiten Funktionen von Windows und Windows Server. Es wird aktiv unterstützt, in der Wartung.
- Mono - Die ursprüngliche Community und Open Source .NET. Eine plattformübergreifende Implementierung von .NET Framework. Wird für Android, iOS und WebAssembly aktiv unterstützt.
- .NET (Core) – Modern .NET. Eine plattformübergreifende und Open Source-Implementierung von .NET, die für das Cloudalter gedacht ist, während sie erheblich mit .NET Framework kompatibel bleiben. Wird für Linux, macOS und Windows aktiv unterstützt.