ASP.NET Core MVC App unter verschiedenen Betriebssystem entwickeln

Eine klassische ASP.NET Web-App konnte früher nur unter Windows mit Visual Studio entwickelt werden. Mit der Veröffentlichung von ASP.NET Core können Web-Apps allerdings nun nicht nur unter Windows, sondern auch mit anderen Betriebssystemen wie Linux und OS X entwickelt und ausgeführt werden.
In diesem Blogeintrag werden wir uns ansehen, wie man eine ASP.NET Core MVC Web-App unter den verschiedenen Betriebssystemen erstellen kann.

.NET Core SDK installieren
Für die Entwicklung einer ASP.NET Core App wird das neue .NET Core SDK benötigt. Das SDK kann mithilfe der Anleitung unter [1] für die verschiedenen Betriebssysteme (Windows, Linux, Mac) heruntergeladen und installiert werden.

Yeoman-aspnet-generator installieren
Mit den .NET Core Command Line Tools (CLI) ist es möglich, ein leeres Projekt mit dem Befehl "dotnet new" zu erstellen. Allerdings fehlen hier die Projekttemplates für ASP.NET Web-App, die in Visual Studio verfügbar sind. Um diese zu erzeugen, verwenden wir den Yeoman ASPNET Generator, ein Open-Source Tool, das Projekttemplates automatisch generieren kann.
Zunächst werden wir uns ansehen, wie dieses Tool installiert wird.
  1. Node.js und npm installieren
    Die Installationsanleitung für Windows, Linux und OS X befindet sich jeweils unter [1], [2] und [3].
  2. Folgenden Befehl in der Kommandozeile ausführen, um das Tool herunterzuladen und zu installieren:

    npm install –g yo generator-aspnet
Nun sind wir bereit, eine Web-App mit dem Tool zu erstellen. Dazu geben wir in der Kommandozeile den folgenden Befehl ein:
yo aspnet

Es erscheint ein Wizard wie im folgenden Bild:


Hier wählen wir "Web Application" und dann als UI Framework "Bootstrap (3.3.6)" aus. Nachdem wir dann den Namen unserer App (wie z. B. "TestAsp") eingegeben haben, wird ein ASP.NET Core Web-App Projekt erstellt.
Wie im folgenden Bild gezeigt, werden danach ein paar .NET Core CLI-Befehlen wie z. B. dotnet build oder dotnet run vorgeschlagen, um das Projekt zu kompilieren, bzw. auszuführen.



Nun können wir anfangen, die benötigten Klassen zu erstellen und den Code zu schreiben. In Visual Studio können Model-Klassen, Controller-Klassen und MVC-Views leicht hinzugefügt werden. Mit den folgenden Befehlen ist es auch per Kommandozeile statt Visual Studio möglich, diese dem Projekt hinzuzufügen.

yo aspnet:class {ClassName}
yo aspnet:mvccontroller {ControllerName}
yo aspnet:mvcview {ViewName}

Die anderen Befehle für weitere Funktionen können mit dem Befehl "yo aspnet --help" angezeigt werden.

Falls Entity Framework Code First verwendet werden soll, ist es auch möglich, die Migrations und Datenbank per CLI zu erstellen und zu aktualisieren.
Neue Migration hinzufügen:
dotnet ef migrations add {MigrationName}
Datenbank aktualisieren:
dotnet ef database update

[1] https://www.microsoft.com/sdafnet/core
[2] http://blog.teamtreehouse.com/install-node-js-npm-windows
[3] http://blog.teamtreehouse.com/install-node-js-npm-linux
[4] https://changelog.com/install-node-js-with-homebrew-on-os-x/