Zum Inhalt springen

Compiling .NET Core Apps unter Linux

Februar 28, 2016

.NET Core läuft nicht nur auf Windows, sondern auch auf Linux und OS X. Dieser Blog Artikel zeigt die Vorbereitung von Linux um .NET Core mit den .NET CLI Tools darauf kompilieren zu können.

Mittlerweile ist es doch schon 3 Jahre her das ich nur Windows im Einsatz hatte. Der Marktanteil von Microsoft auf den mobilen Plattformen geschuldet habe ich neben meinen Windows Devices (mein hauptsächlich genutzes Phone ist tatsächlich ein Windows Phone), ein Android Phone, ein iPhone, und auch einen Mac. All das braucht man doch für die Entwicklung mit Xamarin.

Am Desktop gab es aber weiterhin nur Windows (Mac ist hier eine Ausnahme). Vor meiner Windows Zeit war ich aber Entwickler unter OpenVMS und Unix (damals Ultrix und DEC-OSF/1 von Digital Equipment), und bringe damit auch viel Erfahrung von anderen Plattformen mit. Seit damals hat sich aber doch eine Menge geändert.

Da .NET Core jetzt auch auf Linux und OS-X läuft, heisst es sich damit wieder vermehrt zu beschäftigen.

Ein Linux Image mit Microsoft Azure

Eine einfache Möglichkeit Linux zum laufen zu bringen ist ein virtuelles Image mit Microsoft Azure (https://portal.azure.com/) zu erstellen. Ubuntu 14.04, Windows, Mac OS X und CentOS 7.1 werden momentan mit Installers unter https://github.com/dotnet/cli angeboten, andere Distributions folgen.

Für Ubuntu 14.0.4 wird ein fertiges Image unter Microsoft Azure angeboten:

Ubuntu 14.04 mit Microsoft Azure

Ubuntu 14.04 mit Microsoft Azure

Connect to Ubuntu

Nachdem das Image unter Microsoft Azure eingerichtet ist, brauchen wir eine Verbindung. Bei Windows Images genügt dafür der Connect Button unter Microsoft Azure, damit wird schon eine Remote Desktop Verbindung geöffnet. Unter Linux wird dafür eine Secure Shell benötigt.

Es gibt den Plan unter Windows 10 eine Secure Shell bereitzustellen: OpenSSH unter Windows. Bis das so weit ist wird es aber noch etwas dauern.  Bis dahin verwende ich  PuTTY. Das ist ein simples Executable für SSH und nicht mehr.

Bei der PuTTY Konfiguration braucht nur die IP Adresse aus der Azure Konfiguration übernommen zu werden,

PuTTY Configuration

PuTTY Configuration

und mit dem unter Azure konfigurierten User und Password wird die Verbindung hergestellt:

Connection to Ubuntu

Connection to Ubuntu

 

Installation von .NET Core Command-Line (CLI) Tools

Nachdem die Verbindung hergestellt ist, können auch schon die .NET Core command-line (CLI) tools installiert werden.

Ubuntu Desktop und xrdp können über apt-get installiert werden, wie von Tom McKearney beschrieben ist.

Für Ubuntu gibt es ein Debian Package. Das kann mit wget heruntergeladen werden:

wget https://dotnetcli.blob.core.windows.net/dotnet/beta/Installers/Latest/dotnet-ubuntu-x64.latest.deb

Stattdessen kann aber gleich der apt-get Feed für .NET Core konfiguriert werden:

sudo sh -c ‚echo „deb [arch=amd64] http://apt-mo.trafficmanager.net/repos/dotnet/ trusty main“ > /etc/apt/sources.list.d/dotnetdev.list‘

sudo apt-key adv –keyserver apt-mo.trafficmanager.net –recv-keys 417A0893

sudo apt-get update

Näheres ist hier: get started with .NET Core.

Dann lässt sich auch schon .NET Core von diesem Feed installieren:

sudo apt-get install dotnet=1.0.0.001331-1

.NET Core CLI Tools

Damit können auch unter Linux die .NET Core CLI tools verwendet werden:

mkdir HelloWorld

für ein neues Verzeichnis der Applikation,

cd HelloWorld

dotnet new

zum erstellen einer Hello, World! App,

dotnet restore

zum Herunterladen der NuGet Packages. Dann ein

dotnet build

um das Programm zu kompilieren, und

dotnet run

es zu starten.

Christian

Weitere Informationen zu .NET Core

 

BASTA! 2016 Spring

 

Kommentar verfassen

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das: