ASP
.NET Core 2.0 ist am 14.8.2017 erschienen.
Auch für sein Webentwicklungsframework
ASP.NET Core hat Microsoft die Version 2.0 fertiggestellt. Anders als in der ersten Preview-Version angekündigt, [
https://www.heise.de/developer/meldung/Microsoft-will-ASP-NET-Core-nicht-mehr-auf-dem-klassischen-NET-anbieten-3708715.html] läuft ASP
.NET Core 2.0 nun doch nicht nur auf
.NET Core 2.0, sondern weiterhin auch auf dem klassischen
.NET Framework (ab Version 4.6.1). ASP
.NET Core 2.0 basiert auf
.NET Standard 2.0 und läuft daher nicht auf älteren
.NET Framework-Versionen.
Ab ASP
.NET Core 2.0 bietet Microsoft mit Microsoft.AspNetCore [
https://www.nuget.org/packages/Microsoft.AspNetCore.all] ein
Nuget-Paket an, dass als Meta-Paket alle von Microsoft für
ASP.NET Core erstellten
Nuget-Pakete nach sich zieht einschließlich
Entity Framework Core 2.0. Auf den ersten Blick widerspricht dies der von Microsoft mit .NET Core propagierten Strategie der minimalen Referenzierung von .NET-Klassen. Auf den zweiten Blick sorgen jedoch die Deployment-Tools von .NET Core dafür, dass am Ende nur die tatsächlich benötigten Pakete übrigbleiben. Microsoft dokumentiert den Umstellungsprozess von
ASP.NET Core 1.x-Anwendungen auf Version 2.0 unter [
https://docs.microsoft.com/en-us/aspnet/core/migration/1x-to-2x/].
ASP.NET Core bietet neben Performanceverbesserungen nun auch eine Unterstützung für die C#-7.1-Syntax in Views sowie als "
Razor Pages" bezeichneten Views, die ganz ohne Controller auskommen. ASP
.NET Core 2.0-Views können nun vorkompiliert werden – Microsoft hatte das in den Beta-Varianten für Version 1.0 bereits integriert, dann aber wieder ausgebaut. Den Startup-Programmcode von ASP.NET hat Microsoft in Version 2.0 mit Einführung der
Methode WebHost.CreateDefaultBuilder() stark vereinfacht.
Visual Studio 2017 bietet nun beim Anlegen neuer
ASP.NET Core-Webprojekte eine Auswahl zwischen
.NET Core 1.0, 1.1 und 2.0 sowie neue Projektvorlagen, die neben Server-Programmcode auch direkt Client-Code mit
Angular (derzeit auf Stand 4.1.2) oder
React.js (derzeit Version 15.5.0) enthalten. Die neuen Vorlagen sind auch über das Kommandozeilenwerkzeug dotnet new verfügbar.
@page
@functions {
public string FormatDate(DateTime theTime) {
return theTime.ToString("d");
}
}
<html>
<body>
<h2>Uhrzeit auf dem Server:</h2>
<p>@FormatDate(DateTime.Now)</p>
</body>
</html>
Listing 1: Beispiel für eine
Razor-Seite mit eingestreutem C#-Code in ASP
.NET Core 2.0