Übung – Erstellen eines ASP.NET Core-Web-App-Projekts aus einer Vorlage

Abgeschlossen

In dieser Übung führen Sie die folgenden Schritte aus:

  • Erstellen Sie ein ASP.NET Core-Web-App-Projekt aus einer Vorlage.
  • Untersuchen Sie die Struktur des erstellten Projekts.

Erstellen einer ASP.NET Core-Web-App mit einer Vorlage

Erstellen Sie in Visual Studio Code ein neues Projekt:

  1. Wählen Sie die Explorer-Ansicht aus:

    Screenshot der Auswahl der Explorer-Ansicht.

  2. Wählen Sie die Schaltfläche ".NET Project erstellen " aus. Alternativ können Sie die Befehlspalette mit STRG+UMSCHALT+P aufrufen und dann ".NET" eingeben, um den Befehl .NET: New Project zu suchen und auszuwählen.

    Screenshot der Auswahl von „Projekt erstellen“ in .NET.

  3. Wählen Sie in der Liste die ASP.NET Projektvorlage "Core Empty" aus.

  4. Erstellen Sie im Dialogfeld "Projektspeicherort " einen Ordner, der das MyWebApp Projekt enthält.

  5. Benennen Sie in der Befehlspalette das Projekt MyWebApp, unter Berücksichtigung der Groß- und Kleinschreibung. Die Verwendung dieses genauen Projektnamens ist wichtig, um sicherzustellen, dass die Namespaces für den Code in dieser Anleitung Ihren Namespaces entsprechen.

  6. Wählen Sie "Projekt erstellen " aus der Befehlspalette aus.

Untersuchen der Projektstruktur

Der Inhalt des Projektordners "MyWebApp" wird im Visual Studio Code-Explorer angezeigt:

Screenshot der Projektdateien im Visual Studio Code-Explorer.

Erstellen Sie über ein Terminal oder die Befehlszeile ein neues Projekt:

  1. Wechseln Sie zu dem Verzeichnis (cd), in dem das Projekt gespeichert werden soll.

  2. Erstellen Sie eine ASP.NET Core Web App in einem Verzeichnis mit dem Namen MyWebApp , indem Sie den Befehl dotnet new.NET CLI ausführen:

    dotnet new web -o MyWebApp
    

    Ein neues ASP.NET Core-Leer-Webprojekt wird in einem Verzeichnis namens MyWebApp erstellt.

    Nachfolgend wird die Befehlssyntax beschrieben:

    • dotnet new: Ein .NET CLI-Befehl zum Erstellen verschiedener .NET-Entwicklungsartefakte auf der Grundlage von Vorlagen wie Projekten, Lösungen, Bibliotheken, Konfigurationsdateien und anderen speziellen Dateien.
    • web: Eine Projektvorlage, die zum Erstellen eines leeren ASP.NET Core-Webprojekts ohne Beispielinhalt verwendet wird. web ist eine der vielen integrierten Projektvorlagen , die im .NET SDK verfügbar sind.
    • -o: Die Ausgabeoption gibt das Verzeichnis an, in dem das neue Projekt erstellt wird:
      • Wenn das Verzeichnis nicht vorhanden ist, wird es von .NET CLI erstellt.
      • Das Verzeichnis, in dem das Projekt erstellt wird, dient als Standardprojektname, Namespace und Assemblyname (der Name der kompilierten Ausgabe).
      • Wenn die Ausgabeoption -o <directory> nicht verwendet wird, dann wird das aktuelle Verzeichnis verwendet.
  3. Öffnen Sie den Projektordner "MyWebApp ".

Untersuchen der Projektstruktur

Der Inhalt des Projektordners "MyWebApp" wird im Visual Studio Code-Explorer angezeigt:

Screenshot der Projektdateien im Visual Studio Code-Explorer.

Die folgenden Abschnitte bieten eine Übersicht über die Hauptprojektordner und Dateien des leeren ASP.NET Core-Projekts:

Die Projektdatei "MyWebApp.csproj"

Die CSPROJ-Projektdatei wird verwendet für:

  • Konfigurieren, wie das Projekt erstellt wird
  • Angeben, welche Version von .NET als Ziel verwendet werden soll
  • Verwalten der Projektabhängigkeiten

Die .sln Lösungsdatei

Wenn ein ASP.NET Core-Projekt in Visual Studio Code (mit der Erweiterung C# Dev Kit) erstellt oder geöffnet wird, wird eine Projektmappendatei namens [Projektname].sln erstellt. Die Projektmappendatei [Projektname].sln enthält Informationen zu einem oder mehreren verwandten Projekten, einschließlich Buildinformationen, Einstellungen und sonstigen Dateien, die nicht nur einem bestimmten Projekt zugeordnet sind.

Der Ordner "obj "

Der Ordner obj enthält Zwischendateien, die vom Buildsystem verwendet werden, einschließlich kompilierter Objektdateien, die aus den Quelldateien generiert werden. Die endgültige Buildausgabe wird im Ordner bin platziert, der während des Buildvorgangs erstellt wurde.

Die Datei „Eigenschaften/launchSettings.json“

Die Datei "Eigenschaften/launchSettings.json " enthält Konfigurationsdaten für den Start der App während der Entwicklung. Zu diesen Einstellungen gehört die Eigenschaft applicationUrl, die die von der App verwendete Stamm-URL angibt, z. B. https://localhost:{port}, wobei {port} eine zufällige lokale Portnummer ist, die beim Erstellen des Projekts zugewiesen wird.

Die dateilaunchSettings.json enthält die folgende Konfiguration:

{
  "$schema": "https://json.schemastore.org/launchsettings.json",
  "profiles": {
    "http": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "http://localhost:5218",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "https": {
      "commandName": "Project",
      "dotnetRunMessages": true,
      "launchBrowser": true,
      "applicationUrl": "https://localhost:7140;http://localhost:5218",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

Die Program.cs Datei

Die Program.cs Datei dient als Einstiegspunkt für eine ASP.NET Core-App und hat mehrere wichtige Zwecke, darunter:

  • Hostkonfiguration: Konfiguriert den Host, einschließlich der Einrichtung des Webservers.
  • Dienstleistungsregistrierung: Erweitert die Funktionalität der Anwendung um Dienste wie Datenbankkontexte, Protokollierung und spezielle Dienste für bestimmte Frameworks.
  • Middleware-Pipelinekonfiguration: Definiert die Anforderungsverarbeitungspipeline der App als eine Reihe von Middleware-Instanzen.
  • Umgebungskonfiguration: Richtet umgebungsspezifische Einstellungen für Entwicklung, Staging und Produktion ein.

Im neuen leeren ASP.NET Core-Projekt, das Sie erstellt haben, enthält die datei Program.cs den folgenden minimalen Code:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello World!");

app.Run();

Mit den folgenden Codezeilen dieser Datei werden ein WebApplicationBuilder mit vorkonfigurierten Standardwerten und die App erstellt:

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

Die Methode app.MapGet() definiert direkt einen Endpunkt, der HTTP GET-Anforderungen verarbeitet:

app.MapGet("/", () => "Hello World!");

app.MapGet("/"): Definiert eine Route für die HTTP GET-Anforderung. Die Zeichenfolge / gibt an, dass diese Route auf die Anforderungen reagiert, die an die Stamm-URL der App gesendet wurden. Beispiel: http://localhost:{port}/Hierbei {port} handelt es sich um eine zufällig zugewiesene Portnummer, die in der Datei "Eigenschaften/launchSettings.json " bei der Projekterstellung zugewiesen ist.

() => "Hello World!": Ein Lambdafunktionsausdruck, der als Anforderungshandler dient. Wenn eine GET-Anforderung an die Stamm-URL gesendet wird, wird dieser Lambdafunktionsausdruck ausgeführt und gibt die Zeichenfolge „Hallo Welt“ zurück.