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.
Von Daniel Roth, Rick Anderson und Shaun Luttin
Hinweis
Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Warnung
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der .NET- und .NET Core-Supportrichtlinie. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Wichtig
Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.
Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
ASP.NET Core ist ein plattformübergreifendes Hochleistungsframework zum Erstellen moderner Webanwendungen. Mit diesem Open-Source-Framework können Entwickler Webanwendungen, Dienste und APIs erstellen, die unter Windows, macOS und Linux ausgeführt werden können. Sie ist für die entwicklung von großen Apps entwickelt und kann jede Größe von Arbeitsauslastungen verarbeiten, sodass sie eine robuste Wahl für Anwendungen auf Unternehmensebene ist.
ASP.NET Core ermöglicht Folgendes:
- Erstellen Sie Web-Apps und -Dienste, Azure IoT (Internet of Things) -Apps und mobile Back-Ends.
- Verwenden Ihrer bevorzugten Entwicklungstools unter Windows, macOS und Linux
- Bereitstellen in der Cloud oder im lokalen System
- Führen Sie die Ausführung auf .NET aus.
Was spricht für ASP.NET Core?
Millionen von Entwicklern verwenden oder haben ASP.NET 4.x zum Erstellen von Web-Apps verwendet. Bei ASP.NET Core handelt es sich um eine Neugestaltung von ASP.NET 4.x einschließlich Änderungen an der Architektur, die ein schlankeres Framework mit größerer Modularität ergeben.
ASP.NET Core bietet die folgenden Vorteile:
- Eine einheitliche Umgebung zum Erstellen der Webbenutzeroberfläche und von Web-APIs
- Für Testfähigkeit entwickelt.
- Mit Blazor können Sie C# neben JavaScript im Browser verwenden. Gemeinsames Verwenden von serverseitiger und clientseitiger App-Logik, die ausnahmslos mit .NET geschrieben wurde.
- Razor Seiten machen das Codieren von seitenorientierten Szenarien einfacher und produktiver.
- Fähigkeit zur Entwicklung und Ausführung unter Windows, macOS und Linux.
- Open-Source und Community-orientiert.
- Integration moderner, clientseitiger Frameworks und Entwicklungsworkflows.
- Unterstützung für das Hosten von REMOTE Procedure Call (RPC)-Diensten mit gRPC.
- Ein cloudfähiges, umgebungsbasiertes Konfigurationssystem.
- Integrierte Abhängigkeitsinjektion.
- Eine einfache, leistungsstarke und modulare HTTP-Anforderungspipeline.
- Sie können folgende Anbieter zum Hosten verwenden:
- Parallele Versionsverwaltung.
- Tools zum Vereinfachen einer modernen Webentwicklung
Erstellen von Web-APIs und Webbenutzeroberflächen mithilfe von ASP.NET Core MVC
ASP.NET Core MVC bietet Features zum Erstellen von Web-APIs und Web-Apps:
- Das Modell-View-Controller (MVC)-Muster trägt dazu bei, Ihre Web-APIs und Web-Apps testbar zu machen.
- Blazor, ein komponentenbasiertes Web-UI-Framework, das auf C# basiert, das sowohl das serverseitige Rendering als auch das clientseitige Rendering über WebAssembly unterstützt.
- Razor Seiten ist ein seitenbasiertes Programmiermodell, das das Erstellen von Web-UI vereinfacht und produktiver macht.
- Razor Markup bietet eine produktive Syntax für Razor Seiten und MVC-Darstellungen.
- Taghilfsprogramme ermöglichen serverseitigen Code, um an der Erstellung und Darstellung von HTML-Elementen in Razor Dateien teilzunehmen.
- Dank der integrierten Unterstützung für mehrere Datenformate und Inhaltsverhandlung können Ihre Web-APIs eine breite Palette von Clients erreichen, einschließlich Browsern und mobilen Geräten.
- Die Modellbindung ordnet Daten von HTTP-Anforderungen automatisch Aktionsmethodenparametern zu.
- Die Modellüberprüfung führt automatisch clientseitige und serverseitige Überprüfung durch.
Clientseitige Entwicklung
ASP.NET Core umfasst das Blazor Erstellen von reichhaltigen interaktiven Web-UI-Elementen und ist auch in andere beliebte Frontend-JavaScript-Frameworks wie Angular, React, Vue und Bootstrap integriert. Weitere Informationen finden Sie unter ASP.NET Kernthemen Blazor und verwandte Themen in der clientseitigen Entwicklung.
ASP.NET Core-Zielframeworks
ASP.NET Core 3.x oder höher kann nur .NET als Ziel haben.
Das Anzielen auf .NET bringt mit jedem Release mehr und mehr Vorteile mit sich. Einige Vorteile von .NET gegenüber .NET Framework sind:
- Plattformübergreifend Die Ausführung unter Windows, macOS und Linux ist möglich.
- Leistungssteigerung
- Parallele Versionsverwaltung
- Neue APIs
- Quelle öffnen
Empfohlener Lernpfad
Als Einführung in die Entwicklung von ASP.NET Core-Apps empfehlen wir die folgenden Tutorials:
Führen Sie die Schritte eines Tutorials für den App-Typ aus, den Sie entwickeln oder verwalten möchten.
App-Typ Szenario Lernprogramm Web-App Clientseitige Webbenutzeroberflächenentwicklung Erste Schritte mit Blazor Web-App Neue serverseitige Webbenutzeroberflächenentwicklung Erste Schritte mit Razor Seiten Web-App Verwalten einer MVC-App Erste Schritte mit MVC Web-API RESTful-HTTP-Dienste Erstellen einer Web-API† Apps für Remoteprozeduraufrufe Contract-First-Dienste mithilfe von Protokollpuffern Erste Schritte mit einem gRPC-Dienst Echtzeit-App Bidirektionale Kommunikation zwischen Servern und verbundenen Clients Erste Schritte mit SignalR Führen Sie die Schritte eines Tutorials aus, in dem die Grundlagen des Datenzugriffs erläutert werden.
Szenario Lernprogramm Neuentwicklungen Blazor mit Entity Framework Core Neuentwicklungen Razor Seiten mit Entity Framework Core Verwalten einer MVC-App MVC mit Entity Framework Core Lesen Sie eine Übersicht über ASP.NET Core-Grundlagen , die für alle App-Typen gelten.
Suchen Sie im Inhaltsverzeichnis nach weiteren interessanten Themen.
†Es gibt auch ein interaktives Web-API-Tutorial Es ist keine lokale Installation von Entwicklertools erforderlich. Der Code wird in einer Azure Cloud Shell in Ihrem Browser ausgeführt, und curl wird zum Testen verwendet.
Migration von .NET Framework
Eine Referenzanleitung zum Migrieren von ASP.NET 4.x-Apps zu ASP.NET Core finden Sie unter Update von ASP.NET zu ASP.NET Core.
ASP.NET Core ist ein plattformübergreifendes, leistungsstarkes Open-Source-Framework zum Erstellen moderner, cloudfähiger, internetfähiger Apps. ASP.NET Core ermöglicht Folgendes:
- Erstellen Sie Web-Apps und -Dienste, Azure IoT (Internet of Things) -Apps und mobile Back-Ends.
- Verwenden Ihrer bevorzugten Entwicklungstools unter Windows, macOS und Linux
- Bereitstellen in der Cloud oder im lokalen System
- Führen Sie die Ausführung auf .NET Core oder .NET Framework aus.
Was spricht für ASP.NET Core?
Millionen von Entwicklern verwenden oder haben ASP.NET 4.x zum Erstellen von Web-Apps verwendet. Bei ASP.NET Core handelt es sich um eine Neugestaltung von ASP.NET 4.x mit Änderungen an der Architektur, die ein schlankeres Framework mit größerer Modularität ergeben.
ASP.NET Core bietet die folgenden Vorteile:
- Eine einheitliche Umgebung zum Erstellen der Webbenutzeroberfläche und von Web-APIs
- Für Testfähigkeit entwickelt.
- Mit Blazor können Sie C# neben JavaScript im Browser verwenden. Gemeinsames Verwenden von serverseitiger und clientseitiger App-Logik, die ausnahmslos mit .NET geschrieben wurde.
- Razor Seiten machen das Codieren von seitenorientierten Szenarien einfacher und produktiver.
- Fähigkeit zur Entwicklung und Ausführung unter Windows, macOS und Linux.
- Open-Source und Community-orientiert.
- Integration moderner, clientseitiger Frameworks und Entwicklungsworkflows.
- Unterstützung für das Hosten von REMOTE Procedure Call (RPC)-Diensten mit gRPC.
- Ein cloudfähiges, umgebungsbasiertes Konfigurationssystem.
- Integrierte Abhängigkeitsinjektion.
- Eine einfache, leistungsstarke und modulare HTTP-Anforderungspipeline.
- Sie können folgende Anbieter zum Hosten verwenden:
- Parallele Versionsverwaltung.
- Tools zum Vereinfachen einer modernen Webentwicklung
Erstellen von Web-APIs und Webbenutzeroberflächen mithilfe von ASP.NET Core MVC
ASP.NET Core MVC bietet Features zum Erstellen von Web-APIs und Web-Apps:
- Das Modell-View-Controller (MVC)-Muster trägt dazu bei, Ihre Web-APIs und Web-Apps testbar zu machen.
- Razor Seiten ist ein seitenbasiertes Programmiermodell, das das Erstellen von Web-UI vereinfacht und produktiver macht.
- Razor Markup bietet eine produktive Syntax für Razor Seiten und MVC-Darstellungen.
- Taghilfsprogramme ermöglichen serverseitigen Code, um an der Erstellung und Darstellung von HTML-Elementen in Razor Dateien teilzunehmen.
- Dank der integrierten Unterstützung für mehrere Datenformate und Inhaltsverhandlung können Ihre Web-APIs eine breite Palette von Clients erreichen, einschließlich Browsern und mobilen Geräten.
- Die Modellbindung ordnet Daten von HTTP-Anforderungen automatisch Aktionsmethodenparametern zu.
- Die Modellüberprüfung führt automatisch clientseitige und serverseitige Überprüfung durch.
Clientseitige Entwicklung
ASP.NET Core lässt sich nahtlos in gängige clientseitige Frameworks und Bibliotheken integrieren, darunter BlazorAngular, React, Vue und Bootstrap. Weitere Informationen finden Sie unter ASP.NET Kernthemen Blazor und verwandte Themen in der clientseitigen Entwicklung.
ASP.NET Core, das .NET Framework anzielt.
ASP.NET Core 2.x kann für .NET Core oder .NET Framework verwendet werden. Auf .NET Framework ausgerichtete ASP.NET Core-Apps sind nicht plattformübergreifend – sie können nur unter Windows ausgeführt werden. Im Allgemeinen besteht ASP.NET Core 2.x aus .NET Standardbibliotheken . Bibliotheken, die mit .NET Standard 2.0 geschrieben wurden, werden auf einer beliebigen .NET-Plattform ausgeführt, die .NET Standard 2.0 implementiert.
ASP.NET Core 2.x wird unter .NET Framework-Versionen unterstützt, die .NET Standard 2.0 implementieren:
- Die neueste Version von .NET Framework wird empfohlen.
- .NET Framework 4.6.1 oder höher
ASP.NET Core 3.0 oder höher kann nur auf .NET Core ausgeführt werden. Weitere Informationen zu dieser Änderung finden Sie unter Einen ersten Blick auf änderungen in ASP.NET Core 3.0.
Das Anzielen auf .NET Core bringt mit jedem Release mehr und mehr Vorteile mit sich. Einige Vorteile von .NET Core gegenüber .NET Framework sind:
- Plattformübergreifend Wird unter macOS, Linux und Windows ausgeführt.
- Leistungssteigerung
- Parallele Versionsverwaltung
- Neue APIs
- Quelle öffnen
Um die API-Lücke von .NET Framework zu .NET Core zu schließen, hat das Windows Compatibility Pack Tausende von Windows-only-APIs in .NET Core verfügbar gemacht. Diese APIs waren in .NET Core 1.x nicht verfügbar.
Empfohlener Lernpfad
Als Einführung in die Entwicklung von ASP.NET Core-Apps empfehlen wir die folgenden Tutorials und Artikel:
Führen Sie die Schritte eines Tutorials für den App-Typ aus, den Sie entwickeln oder verwalten möchten.
App-Typ Szenario Lernprogramm Web-App Für Neuentwicklungen Erste Schritte mit Razor Seiten Web-App Für die Verwaltung einer MVC-App Erste Schritte mit MVC Web-API Erstellen einer Web-API† Echtzeit-App Erste Schritte mit SignalR Führen Sie die Schritte eines Tutorials aus, in dem die Grundlagen des Datenzugriffs erläutert werden.
Szenario Lernprogramm Für Neuentwicklungen Razor Seiten mit Entity Framework Core Für die Verwaltung einer MVC-App MVC mit Entity Framework Core Lesen Sie eine Übersicht über ASP.NET Core-Grundlagen , die für alle App-Typen gelten.
Suchen Sie im Inhaltsverzeichnis nach weiteren interessanten Themen.
†There ist auch ein Web-API-Lernprogramm, das Sie vollständig im Browser befolgen, keine lokale IDE-Installation erforderlich. Der Code wird in einer Azure Cloud Shell ausgeführt, und curl wird zum Testen verwendet.
Migration von .NET Framework
Eine Referenzanleitung zum Migrieren von ASP.NET Apps zu ASP.NET Core finden Sie unter Update von ASP.NET zu ASP.NET Core.
Herunterladen eines Beispiels
Viele der Artikel und Tutorials enthalten Links zu Beispielcode.
- Laden Sie die zip-Datei des ASP.NET Repositorys herunter.
- Entzippen Sie die Datei
AspNetCore.Docs-main.zip
. - Um auf die Beispiel-App eines Artikels im entpackten Repository zuzugreifen, verwenden Sie die URL im Beispiellink des Artikels, um zum Ordner des Beispiels zu navigieren. In der Regel wird oben im Artikel ein Beispiellink mit dem Linktext "Ansicht" oder "Beispielcode herunterladen" angezeigt.
Präprozessoranweisungen in Beispielcode
In Beispiel-Apps werden die Präprozessoranweisungen #define
und #if-#else/#elif-#endif
zum selektiven Kompilieren und Ausführen unterschiedlicher Abschnitte des Beispielcodes verwendet. So werden verschiedene Szenarios veranschaulicht. Für die Beispiele, die diesen Ansatz verwenden, legen Sie die Anweisung #define
am Anfang der C#-Dateien auf das Symbol fest, das dem Szenario zugeordnet ist, welches Sie ausführen möchten. Für einige Beispiele müssen Sie möglicherweise das Symbol in mehreren Dateien definieren, um ein Szenario durchführen zu können.
Die folgende #define
-Symbolliste gibt beispielsweise an, dass vier Szenarios verfügbar sind (ein Szenario pro Symbol). Die aktuelle Beispielkonfiguration führt das TemplateCode
-Szenario aus:
#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode
Damit das Beispiel das ExpandDefault
-Szenario ausführt, definieren Sie das ExpandDefault
-Symbol und lassen Sie die übrigen Symbole auskommentiert:
#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode
Weitere Informationen zur Verwendung von C#-Präprozessordirektiven zum selektiven Kompilieren von Codeabschnitten finden Sie unter #define (C#-Referenz) und #if (C#-Referenz).
Breaking Changes und Sicherheitsempfehlungen
Umfassende Änderungen und Sicherheitswarnungen werden im Ankündigungs-Repository gemeldet. Ankündigungen können auf eine bestimmte Version beschränkt werden, indem sie einen Bezeichnungsfilter auswählen.
Nächste Schritte
Weitere Informationen finden Sie in den folgenden Ressourcen:
- Erste Schritte mit Blazor
- Erste Schritte mit ASP.NET Core
- Veröffentlichen einer ASP.NET Core-App in Azure mit Visual Studio
- ASP.NET Kerngrundsätze
- Das wöchentliche ASP.NET Community-Standup-Treffen deckt den Fortschritt und die Pläne des Teams ab. Zudem werden neue Blogs und Drittanbietersoftware vorgestellt.