Einführung in ASP.NET CoreIntroduction to ASP.NET Core

Von Daniel Roth, Rick Anderson und Shaun LuttinBy Daniel Roth, Rick Anderson, and Shaun Luttin

ASP.NET Core ist ein plattformübergreifendes, leistungsstarkes Open-Source-Framework zum Erstellen moderner, cloudbasierter mit dem Internet verbundener Anwendungen.ASP.NET Core is a cross-platform, high-performance, open-source framework for building modern, cloud-based, Internet-connected applications. ASP.NET Core ermöglicht Folgendes:With ASP.NET Core, you can:

  • Erstellen von Web-Apps und -diensten, IoT-Apps und mobilen Back-Ends.Build web apps and services, IoT apps, and mobile backends.
  • Verwenden Ihrer bevorzugten Entwicklungstools unter Windows, macOS und LinuxUse your favorite development tools on Windows, macOS, and Linux.
  • Bereitstellen in der Cloud oder im lokalen SystemDeploy to the cloud or on-premises.
  • Ausführen in .NET Core oder .NET FrameworkRun on .NET Core or .NET Framework.

Gründe für ASP.NET CoreWhy use ASP.NET Core?

Millionen von Entwicklern setzen bei der Erstellung von Web-Apps auf ASP.NET 4.x.Millions of developers have used (and continue to use) ASP.NET 4.x to create web apps. 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 is a redesign of ASP.NET 4.x, with architectural changes that result in a leaner, more modular framework.

ASP.NET Core bietet die folgenden Vorteile:ASP.NET Core provides the following benefits:

Erstellen von Web-APIs und Webbenutzeroberflächen mithilfe von ASP.NET Core MVCBuild web APIs and web UI using ASP.NET Core MVC

ASP.NET Core MVC bietet Funktionen zum Erstellen von Web-APIs und Web-Apps:ASP.NET Core MVC provides features to build web APIs and web apps:

Clientseitige EntwicklungClient-side development

ASP.NET Core integriert sich nahtlos in gängige clientseitige Frameworks und Bibliotheken, einschließlich Angular, React und Bootstrap.ASP.NET Core integrates seamlessly with popular client-side frameworks and libraries, including Angular, React, and Bootstrap. Weitere Informationen finden Sie unter Clientseitige Entwicklung.For more information, see Client-side development.

ASP.NET Core, das .NET Framework anzielt.ASP.NET Core targeting .NET Framework

ASP.NET Core 2.x kann für .NET Core oder .NET Framework verwendet werden.ASP.NET Core 2.x can target .NET Core or .NET Framework. ASP.NET Core-Apps, die .NET Framework anzielen, sind nicht plattformübergreifend, sondern können nur unter Windows ausgeführt werden.ASP.NET Core apps targeting .NET Framework aren't cross-platform—they run on Windows only. Für gewöhnlich besteht ASP.NET Core 2.x aus .NET Standard-Bibliotheken.Generally, ASP.NET Core 2.x is made up of .NET Standard libraries. Solange .NET Standard 2.0 unterstützt wird, können mit .NET Standard 2.0 geschriebene Apps überall ausgeführt werden.Apps written with .NET Standard 2.0 run anywhere that .NET Standard 2.0 is supported.

ASP.NET Core 2.x wird unter .NET Framework-Versionen unterstützt, die mit dem .NET Standard 2.0 kompatibel sind:ASP.NET Core 2.x is supported on .NET Framework versions compatible with .NET Standard 2.0:

  • .NET Framework 4.7.1 und später wird dringend empfohlen..NET Framework 4.7.1 and later is strongly recommended.
  • .NET Framework 4.6.1 und höher..NET Framework 4.6.1 and later.

ASP.NET Core 3.0 und höher kann nur in .NET Core ausgeführt werden.ASP.NET Core 3.0 and later will only run on .NET Core. Weitere Informationen zu dieser Änderung finden Sie im Blogbeitrag zu kommenden Änderungen in ASP.NET Core 3.0.For more details regarding this change, see A first look at changes coming in ASP.NET Core 3.0.

Das Anzielen auf .NET Core bringt mit jedem Release mehr und mehr Vorteile mit sich.There are several advantages to targeting .NET Core, and these advantages increase with each release. Einige Vorteile von .NET Core gegenüber .NET Framework sind:Some advantages of .NET Core over .NET Framework include:

  • PlattformübergreifendCross-platform. Wird unter macOS, Linux und Windows ausgeführt.Runs on macOS, Linux, and Windows.
  • LeistungssteigerungImproved performance
  • Parallele VersionsverwaltungSide-by-side versioning
  • Neue APIsNew APIs
  • Quelle öffnenOpen source

Es wird daran gearbeitet, die API-Lücke von .NET Framework zu .NET Core zu schließen.We're working hard to close the API gap from .NET Framework to .NET Core. Das Windows Compatibility Pack stellt Tausende nur unter Windows verfügbare APIs in .NET Core zur Verfügung.The Windows Compatibility Pack made thousands of Windows-only APIs available in .NET Core. Diese APIs waren in .NET Core 1.x nicht verfügbar.These APIs weren't available in .NET Core 1.x.

Herunterladen eines BeispielsHow to download a sample

Viele der Artikel und Tutorials enthalten Links zu Beispielcode.Many of the articles and tutorials include links to sample code.

  1. Laden Sie die Zip-Datei des ASP.NET Repositorys herunter.Download the ASP.NET repository zip file.
  2. Entpacken Sie die Datei Docs-master.zip.Unzip the Docs-master.zip file.
  3. Navigieren Sie mit der URL in der Beispielverknüpfung zum Beispielverzeichnis.Use the URL in the sample link to help you navigate to the sample directory.

Um verschiedene Szenarios zu veranschaulichen und unterschiedliche Abschnitte von Beispielcodes selektiv zu kompilieren und auszuführen, verwenden Beispiel-Apps die C#-Anweisungen #define und #if-#else/#elif-#endif.To demonstrate multiple scenarios, sample apps make use of the #define and #if-#else/#elif-#endif C# statements to selectively compile and run different sections of sample code. 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.For those samples that make use of this approach, set the #define statement at the top of the C# files to the symbol associated with the scenario that you want to run. Möglicherweise müssen Sie für ein Beispiel das Symbol am Anfang mehrerer Dateien festlegen, um ein Szenario auszuführen.A sample may require you to set the symbol at the top of multiple files in order to run a scenario.

Die folgende #define-Symbolliste gibt beispielsweise an, dass vier Szenarios verfügbar sind (ein Szenario pro Symbol).For example, the following #define symbol list indicates that four scenarios are available (one scenario per symbol). Die aktuelle Beispielkonfiguration führt das TemplateCode-Szenario aus:The current sample configuration runs the TemplateCode scenario:

#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:To change the sample to run the ExpandDefault scenario, define the ExpandDefault symbol and leave the remaining symbols commented-out:

#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode

Weitere Informationen zur Verwendung von C#-Präprozessoranweisungen, um selektiv bestimmte Codeabschnitte zu kompilieren, finden Sie unter #define (C#-Referenz) und #if (C#-Referenz).For more information on using C# preprocessor directives to selectively compile sections of code, see #define (C# Reference) and #if (C# Reference).

Nächste SchritteNext steps

Weitere Informationen finden Sie in den folgenden Ressourcen:For more information, see the following resources: