Looking for asp.net-core Keywords? Try Ask4Keywords

asp.net-coreErste Schritte mit asp.net-core


Bemerkungen

.NET Core ist eine allgemeine Entwicklungsplattform, die von Microsoft und der .NET-Community auf GitHub verwaltet wird. Es ist plattformübergreifend, unterstützt Windows, Mac OS und Linux und kann in Geräte-, Cloud- und Embedded / IoT-Szenarien verwendet werden.

Die folgenden Merkmale definieren .NET Core am besten:

  • Flexible Bereitstellung: Kann in Ihre App aufgenommen oder neben- oder maschinenweit installiert werden.
  • Plattformübergreifend: Läuft unter Windows, Mac OS und Linux; kann auf andere Betriebssysteme portiert werden. Die unterstützten Betriebssysteme, CPUs und Anwendungsszenarien werden im Laufe der Zeit von Microsoft, anderen Unternehmen und Einzelpersonen bereitgestellt.
  • Befehlszeilentools: Alle Produktszenarien können über die Befehlszeile ausgeführt werden.
  • Kompatibel: .NET Core ist über die .NET-Standardbibliothek mit .NET Framework, Xamarin und Mono kompatibel.
  • Open Source: Die .NET Core-Plattform ist Open Source und verwendet MIT- und Apache 2-Lizenzen. Die Dokumentation ist unter CC-BY lizenziert. .NET Core ist ein .NET Foundation-Projekt.
  • Unterstützt von Microsoft: .NET Core wird von Microsoft pro .NET Core-Support unterstützt

Versionen

Ausführung Versionshinweise Veröffentlichungsdatum
RC1 * 1.0.0-rc1 2015-11-18
RC2 * 1.0.0-rc2 2016-05-16
1.0.0 1.0.0 2016-06-27
1.0.1 1.0.1 2016-09-13
1.1 1.1 2016-11-16

Erstellen Sie ein neues Projekt über die Befehlszeile

Es ist möglich, ein neues ASP.NET Core-Projekt vollständig über die Befehlszeile mit dem Befehl dotnet .

dotnet new web
dotnet restore
dotnet run
 

dotnet new web scaffolds ein neues "leeres" Webprojekt. Der web - Parameter teilt das dotnet - Tool die verwenden ASP.NET Core Empty - ASP.NET Core Empty Vorlage. Verwenden Sie dotnet new -all , um alle derzeit installierten verfügbaren Vorlagen dotnet new -all . Weitere Schlüsselvorlagen sind console , classlib , mvc und xunit .

Nachdem die Vorlage erstellt wurde, können Sie die für die Ausführung des Projekts erforderlichen Pakete wiederherstellen ( dotnet restore ), kompilieren und starten ( dotnet run ).

Sobald das Projekt ausgeführt wird, ist es am Standardport verfügbar: http: // localhost: 5000

Installation und Einrichtung

Visual Studio installieren

Wenn Sie Visual Studio nicht installiert haben, können Sie die kostenlose Visual Studio Community Edition hier herunterladen . Wenn Sie es bereits installiert haben, können Sie mit dem nächsten Schritt fortfahren.

Erstellen einer ASP.NET Core MVC-Anwendung.

  1. Öffnen Sie Visual Studio.
  2. Wählen Sie Datei> Neues Projekt.
  3. Wählen Sie im Bereich Vorlagen auf der linken Seite die Sprache Ihrer Wahl aus.
  4. Wählen Sie im Dialog einen bevorzugten Projekttyp aus .
  5. Optional: Wählen Sie ein .NET Framework aus, auf das Sie abzielen möchten
  6. Benennen Sie Ihr Projekt und geben Sie an, ob Sie eine Lösung für das Projekt erstellen möchten.
  7. Klicken Sie auf OK , um das Projekt zu erstellen.

Geben Sie hier die Bildbeschreibung ein

In einem weiteren Dialog wird die Vorlage ausgewählt, die Sie für das Projekt verwenden möchten:

Geben Sie hier die Bildbeschreibung ein

Jede der Beschreibungen ist selbsterklärend. Wählen Sie für dieses erste Projekt die Webanwendung aus , die alle Standardkonfigurationen, die Authentifizierung und einige vorhandene Inhalte enthält.

Da dies eine Einführung ist und keine Sicherheit oder Authentifizierung erforderlich ist, können Sie auf der rechten Seite des Dialogfelds die Authentifizierungsoption in Keine Authentifizierung ändern und auf OK klicken, um das Projekt zu erstellen .

Sie sollten das neue Projekt dann im Projektmappen-Explorer sehen:

Geben Sie hier die Bildbeschreibung ein

Drücken Sie die Taste F5, um die Anwendung auszuführen und eine Debugging-Sitzung zu starten, die die Anwendung in Ihrem Standardbrowser startet:

Geben Sie hier die Bildbeschreibung ein

Sie können jetzt sehen, dass Ihr Projekt lokal läuft und als Ausgangspunkt für die Erstellung Ihrer Anwendung bereit ist.

Minimale ASP.NET Core-Web-API mit ASP.NET Core MVC

Mit ASP.NET Core 1.0 wurden das MVC- und das Web-API-Framework zu einem Framework namens ASP.NET Core MVC zusammengeführt. Dies ist eine gute Sache, da MVC und Web API viele Funktionen gemeinsam nutzen, es jedoch immer subtile Unterschiede und Code-Duplizierungen gab.

Das Zusammenführen dieser beiden in einem Rahmen erschwerte jedoch auch die Unterscheidung. Beispielsweise stellt Microsoft.AspNet.WebApi das Web API 5.xx-Framework dar, nicht das neue. Wenn Sie jedoch Microsoft.AspNetCore.Mvc (Version 1.0.0 ) einschließen, erhalten Sie das vollständige Paket. Dieses enthält alle Standardfunktionen, die das MVC-Framework bietet. Wie Razor, Tag-Helfer und Modellbindung.

Wenn Sie nur eine Web-API erstellen möchten, benötigen wir nicht alle diese Funktionen. Wie bauen wir also eine minimalistische Web-API? Die Antwort lautet: Microsoft.AspNetCore.Mvc.Core . In der neuen Welt ist MVC in mehrere Pakete aufgeteilt, und dieses Paket enthält nur die Kernkomponenten des MVC-Frameworks, z. B. Routing und Autorisierung.

Für dieses Beispiel erstellen wir eine minimale MVC-API. Einschließlich JSON-Formatierer und CORS. Erstellen Sie eine leere ASP.NET Core 1.0-Webanwendung, und fügen Sie Ihrem project.json diese Pakete hinzu:

"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
 

Jetzt können wir MVC mit AddMvcCore() in der Startklasse registrieren:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvcCore()
            .AddCors()
            .AddJsonFormatters();
}
 

AddMvcCore gibt eine IMvcCoreBuilder Instanz zurück, die das weitere IMvcCoreBuilder ermöglicht. Die Konfiguration der Middleware ist wie immer:

public void Configure(IApplicationBuilder app)
{
    app.UseCors(policy =>
    {
        policy.AllowAnyOrigin();
    });
    app.UseMvc();
}
 

Controller

Das "alte" Web-API verfügt über eine eigene Controller-Basisklasse: ApiController . In der neuen Welt gibt es nichts, nur die Standard- Controller Klasse. Leider ist dies eine ziemlich große Basisklasse, die an Modellbindung, Ansichten und JSON.NET gebunden ist.

Glücklicherweise müssen im neuen Framework Controller-Klassen nicht vom Controller werden, um vom Routing-Mechanismus Controller zu werden. Es reicht aus, den Namen nur mit Controller anzufügen. Dadurch können wir unsere eigene Controller-Basisklasse aufbauen. Nennen wir es ApiController , nur für alte Zeiten.

/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
    [ActionContext]
    public ActionContext ActionContext { get; set; }

    public HttpContext HttpContext => ActionContext?.HttpContext;

    public HttpRequest Request => ActionContext?.HttpContext?.Request;

    public HttpResponse Response => ActionContext?.HttpContext?.Response;

    public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
 

Das Attribut [Controller] gibt an, dass der Typ oder ein abgeleiteter Typ vom standardmäßigen Controller-Erkennungsmechanismus als Controller betrachtet wird. Das Attribut [ActionContext] gibt an, dass die Eigenschaft mit dem aktuellen ActionContext wenn MVC den Controller erstellt. Der ActionContext enthält Informationen zur aktuellen Anfrage.

ASP.NET Core MVC bietet auch eine ControllerBase Klasse, die eine Controller-Basisklasse nur ohne Unterstützung für Ansichten bereitstellt. Es ist immer noch viel größer als bei uns. Verwenden Sie es, wenn Sie es bequem finden.

Fazit

Mit dem neuen ASP.NET Core MVC-Framework können wir jetzt eine minimale Web-API erstellen. Die modulare Paketstruktur ermöglicht es uns, einfach die Pakete einzupacken, die wir brauchen, und eine schlanke und einfache Anwendung zu erstellen.

Setup-Umgebungsvariable in ASP.NET Core [Windows]

=> Ursprünglicher Beitrag <=

ASP.NET Core verwendet die Umgebungsvariable ASPNETCORE_ENVIRONMENT , um die aktuelle Umgebung zu ermitteln. Wenn Sie Ihre Anwendung ausführen, ohne diesen Wert festzulegen, wird standardmäßig automatisch die Production .

> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.

Hosting environment: Production  
Content root path: C:\Projects\TestApp  
Now listening on: http://localhost:5000  
Application started. Press Ctrl+C to shut down. 
 

Festlegen der Umgebungsvariablen in Windows

In der Kommandozeile

Sie können eine Umgebungsvariable einfach über eine Eingabeaufforderung festlegen, indem Sie den Befehl setx.exe aus Windows verwenden. Sie können es verwenden, um eine Benutzervariable einfach festzulegen:

>setx ASPNETCORE_ENVIRONMENT "Development"

SUCCESS: Specified value was saved.
 

Beachten Sie, dass die Umgebungsvariable nicht im aktuell geöffneten Fenster festgelegt ist. Sie müssen eine neue Eingabeaufforderung öffnen, um die aktualisierte Umgebung anzuzeigen. Es ist auch möglich, Systemvariablen (und nicht nur Benutzervariablen) festzulegen, wenn Sie eine administrative Eingabeaufforderung öffnen und den Schalter / M hinzufügen:

>setx ASPNETCORE_ENVIRONMENT "Development" /M

SUCCESS: Specified value was saved.
 

Verwenden von PowerShell Alternativ können Sie die Variable mit PowerShell festlegen. In PowerShell können Sie neben den normalen Benutzer- und Systemvariablen auch eine temporäre Variable mit dem Befehl $Env: erstellen:

$Env:ASPNETCORE_ENVIRONMENT = "Development"
 

Die erstellte Variable gilt nur für die Dauer Ihrer PowerShell-Sitzung. Sobald Sie das Fenster schließen, wird die Umgebung auf den Standardwert zurückgesetzt.

Alternativ können Sie die Benutzer- oder Systemumgebungsvariablen direkt festlegen. Diese Methode ändert die Umgebungsvariablen in der aktuellen Sitzung nicht. Daher müssen Sie ein neues PowerShell-Fenster öffnen, um Ihre Änderungen anzuzeigen. Das Ändern der Systemvariablen (Maschine) erfordert wie zuvor Administratorzugriff

[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
 

Verwenden der Windows-Systemsteuerung Wenn Sie die Eingabeaufforderung nicht mögen, können Sie Ihre Variablen ganz einfach mit der Maus aktualisieren. Klicken Sie auf die Windows-Startmenü-Schaltfläche (oder drücken Sie die Windows-Taste), suchen Sie nach environment variables und wählen Sie Umgebung bearbeiten Variablen für Ihr Konto: Geben Sie hier die Bildbeschreibung ein

Wenn Sie diese Option auswählen, wird das Dialogfeld Systemeigenschaften geöffnet Geben Sie hier die Bildbeschreibung ein

Klicken Sie auf Umgebungsvariablen, um die Liste der aktuellen Umgebungsvariablen in Ihrem System anzuzeigen. Geben Sie hier die Bildbeschreibung ein

Wenn Sie nicht bereits über eine Variable mit dem Namen ASPNETCORE_ENVIRONMENT , klicken Sie auf die Schaltfläche Neu ... und fügen Sie eine neue ASPNETCORE_ENVIRONMENT hinzu: Geben Sie hier die Bildbeschreibung ein Klicken Sie auf OK, um alle Änderungen zu speichern. Sie müssen alle Befehlsfenster erneut öffnen, um sicherzustellen, dass die neuen Umgebungsvariablen geladen werden.

Verwenden von Visual Studio-Code zum Entwickeln der Cross Plateform-Aspnet-Kernanwendung

Mit AspNetCore können Sie die Anwendung auf jeder Plattform entwickeln, einschließlich Mac, Linux, Window und Docker.

Installation und SetUp

  1. Installieren Sie von hier aus den visuellen Studio-Code
  2. Fügen Sie C # extesnion hinzu
  3. Installieren Sie dot net core sdk. Sie können von hier aus installieren

Jetzt haben Sie alle Werkzeuge zur Verfügung. Um die Anwendung zu entwickeln. Jetzt benötigen Sie eine Gerüstoption. Dafür sollten Sie Yeoman in Betracht ziehen. Um Yeoman zu installieren

  1. Installieren Sie NPM. Dafür benötigen Sie Node auf Ihrem Rechner. Installieren Sie von hier aus

  2. Installieren Sie Yeoman mithilfe von NPM

    npm install -g yo

  3. Installieren Sie jetzt den Aspnet-Generator

    npm install -g generator-aspnet

Jetzt haben wir alle Einstellungen auf Ihrer Maschine. Zuerst erstellen wir ein neues Projekt mit dem DotNetCore-Basisbefehl und dann ein neues Projekt mit Yo.

Neues Projekt über die Befehlszeile

  1. Erstellen Sie einen neuen Projektordner

    mkdir CoreApplication cd CoreApplication

  2. Scaffold ein sehr einfaches Dotnet-Projekt mit Standardbefehlszeilenoption

    dotnet Neu

Neues Projekt

  1. Stellen Sie die Pakete wieder her und führen Sie die Anwendung aus

    dotNet wiederherstellen dotnet ausführen Geben Sie hier die Bildbeschreibung ein

Verwenden Sie Yeoman als Gerüstoption

Erstellen Sie einen Projektordner und führen Sie den Yo-Befehl aus

yo aspnet
 

Yeoman fragt einige Eingaben wie Projekttyp, Projektname usw. ab

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Stellen Sie jetzt die Pakete wieder her, indem Sie den Befehl dotnet restore ausführen und die Anwendung ausführen

Verwenden Sie VS-Code, um die Anwendung zu entwickeln

Führen Sie den visuellen Studiocode aus Geben Sie hier die Bildbeschreibung ein

Öffnen Sie nun die Dateien und führen Sie die Anwendung aus. Sie können die Erweiterung auch nach Ihrer Hilfe durchsuchen.