© DrHitch/Shutterstock.com
.NET Core 1.0 und 1.1

1 Einstieg in die Entwicklung mit .NET Core 1.0


Nach über zwei Jahren der öffentlichen Entwicklung sind .NET Core 1.0 nebst ASP.NET Core 1.0 und Entity Framework Core 1.0 am 27. Juni 2016 erschienen. Dieser shortcut bietet einen ersten Einstieg in die Entwicklung mit .NET Core 1.0.

Die Erstankündigung der Core-Produkte fand im Mai 2014 auf der TechEd-Konferenz in den USA statt – damals noch unter den Schlagwörtern „Cloud-optimized .NET“, „Project K“ und „ASP.NET vNext“ sowie „Entity Framework 7“. Im November 2014 erfolgte dann die konkrete Benennung in .NET Core 5 und ASP.NET 5, die aber am 19. Januar 2016 auf .NET Core 1.0, ASP.NET Core 1.0 und Entity Framework Core 1.0 korrigiert wurde. Damit will Microsoft deutlich machen: Die Core-Produkte sind nicht die nächste Version des bisherigen .NET Framework 4.6 bzw. ASP.NET MVC 5 und Entity Framework 6.1.3, sondern eine Neuentwicklung, die eine „Parallelwelt“ zu den bisherigen .NET-Produkten bildet (Abb. 1.1). Ein Teil von .NET Core 1.0 ist bereits im Juli 2015 als Teil von Windows 10 erschienen. Auch die dortigen Universal-Apps nutzen mit der .NET Native CLR eine Variante der Core CLR und einiger Core-Bibliotheken.

image

Abbildung 1.1: Core-Produkte sind „Parallelwelt“ zu bisherigem .NET Framework

Universal-Apps sind derzeit die einzige Anwendungsart in der Core-Welt, mit der man eine grafische Benutzeroberfläche erstellen kann. Der Rest der Core-Produkte fokussiert auf Webanwendungen und REST Web Services. Ein plattformübergreifendes GUI-Framework gibt es nicht und ist auch nicht in Sicht. Mit ASP.NET Core erstellt man das GUI – wie bisher – in HTML und JavaScript.

Die Core-Produkte sind grundsätzlich plattformunabhängig (was .NET eigentlich immer schon konnte, wofür es aber außer in Form von Mono und Xamarin nie eine Implementierung gab). Neben Windows laufen die Core-Produkte auch auf Mac OS X und den Linux-Varianten Ubuntu, Fedora, CentOS, Oracle Linux, openSUSE sowie RHEL.

Eine Besonderheit bei ASP.NET Core und Entity Framework Core ist, dass diese beiden Produkte nicht auf das .NET Core Framework angewiesen sind. Sie laufen auch unter dem klassischen .NET „Full“ Framework und Mono; Entity Framework läuft in Kürze auch auf Xamarin [1].

Status

Alle Softwareprodukte der Core-Familie sind Open Source. Es kommen die Lizenzen des MIT, der Apache Software Foundation beziehungsweise die Creative Commons 4.0 zum Einsatz. Die Entwicklung findet öffentlich auf GitHub [2] statt, und Microsoft hat dabei auch signifikante Beiträge von fast zehntausend externen Entwicklern in die Software einfließen lassen [3].

Die Core-Produkte sind zwar in der Release-to-Manufactoring-Version 1.0 erschienen, das RTM bezieht sich aber nur auf die Laufzeitumgebung und Bibliotheken; die zugehörigen Werkzeuge in Visual Studio sowie das Software Development Kit (SDK) haben vorerst weiterhin den Preview-2-Status. Diese sollen erst mit dem Erscheinen der nächsten Visual-Studio-Version (derzeit als „Visual Studio 15“ bezeichnet, aktueller Status: Preview 4) einen endgültigen Zustand erreichen. Zu Verzögerungen bei den Werkzeugen hat geführt, dass Microsoft nach dem Release Candidate 1 noch die bis dahin gültigen Werkzeuge mit Namen DNVM (.NET Version Manager) und DNX (.NET Execution Runtime) sowie DNU (.NET Development Utility) durch das universelle .NET-Core-CLI-Werkzeug (Befehlsname dotnet bzw. dotnet.exe) ersetzt hat.

Die .NET-Core-Dokumentation findet man nicht wie bisher im MSDN, sondern auf Microsofts neuer Dokumentationswebsite [4]. Davon noch abgesondert sind die Dokumentationen zu ASP.NET Core [5] und Entity Framework Core [6].

Alle drei Sites haben jedoch auch noch zwei Monate nach dem Erscheinen von Version 1.0 Platzhalterseiten („We are currently working on this topic.“) und weisen auch über Platzhalterseiten hinaus noch strategische Lücken auf:

  • Die Klassenreferenz für aus dem bisherigen .NET Framework übernommene Bibliotheken findet man unter [7]. Im Gegensatz zu der Originaldokumentation im MSDN sind die Texte jedoch verkürzt, und alle Beispiele wurden entfernt (vgl. hierzu für den Konstruktor von SortedList<TKey, TValue> [8] (alt) und [9] (neu)).
  • Eine Klassenreferenz für neue Namensräume wie Microsoft.AspNetCore, Microsoft.Framework.ConfigurationModel und Microsoft.Extensions.Logging, Microsoft.Framework.Cache findet man unter [10]. Hier gibt es aber zu den meisten Klassen und Klassenmitgliedern keine Texte, sondern lediglich die Syntax (Abb. 1.2 zur Klasse Microsoft.Extensions.Logging.LoggerFactory). Das liegt daran, dass Microsoft im Quellcode bisher überhaupt keine XML-Kommentare hinterlegt hat [11]. Wer sich hier einarbeiten will, muss den Quellcode von Microsoft studieren.
image

Abbildung 1.2: Die API-Dokumentation enthält nur die Syntax, jedoch keine Texte (Quelle: Microsoft [12])

Erste Schritte mit .NET Core

Softwareentwickler, die Visual Studio 2015 verwenden, installieren auf ihrem Entwicklungssystem Visual Studio 2015 Update 3 und .NET Core VS 2015 Tooling Preview 2. Hierdurch erhalten sie sowohl die (fertige) Laufzeitumgebung als auch das SDK und die Visual-Studio-Werkzeuge im Preview-2-Stadium. Wer kein Visual Studio verwendet, installiert nur das SDK-Set-up.

Die Laufzeitumgebung und das SDK finden sich nach der Installation im Dateisystem in Windows unter C:\Program Files\dotnet mit dem zentralen Kommandozeilenwerkzeug dotnet.exe. Für den Betrieb von .NET-Core-Anwendungen wird dann nur die .NET Core Runtim...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang