.NET Core 3 auf dem Raspberry Pi
Wir wollen nun .NET Core 3 auf dem Raspberry Pi installieren und damit später ein grafisches .NET Core Programm schreiben. Man kann nun erstmals WPF nutzen, jedoch nur unter Windows. Ich zeige euch warum .NET Core 3 trotzdem für den Raspberry Pi interessant ist.
.NET Core 3 auf dem Raspberry Pi
Auf der Downloadseite findet man über den Advanced Button die Downloadseite mit der Übersicht der .NET Core Versionen. Die Version 3 ist dort aktuell etwas versteckt als Preview Version und damit nicht stabile Version verfügbar. Das stört und aktuell nicht, denn die aktuelle Version ist schon fast final, wir können sie problemlos nutzen.
Version 3 ist deshalb interessant:
- C# 8.0
die aktuellste Version von C# erscheint nur für .NET Core - GPIO Support für Raspberry Pi
mit den beiden NuGet Packages System.Device.Gpio und Iot.Device.Bindings kann man nun auf dem Raspberry Pi und unter .NET Core mit der Schnittstelle arbeiten - Windows Forms und WPF Unterstützung (nur auf Windows Betriebssystem)
eine der wichtigsten Neuerungen, zumindest wenn man für Windows entwickelt
Installation
Genau wie zuvor schon bei meinem .NET Core auf dem Raspberry Pi Artikel können wir die Runtime und die SDK manuell installieren. Ich lade mir bewusst die ARM32 Dateien, da mein Raspberry Pi 3 Testrechner zwar einen 64-bit Prozessor hat, dieser aber standardmäßig im 32-bit Modus operiert. Je nachdem ob du nur .NET Core Programme ausführen willst oder auf dem Raspberry Pi auch entwickeln möchtest installierst du entweder die Runtime oder die SDK mit Runtime.
Runtime
Die manuelle Installation der aktuellen Preview 8 Version funktioniert so:
wget https://download.visualstudio.microsoft.com/download/pr/a2e0f456-964a-4b90-bcd2-37b18bcdbfeb/30dc00fa236512937c1fbbdbecd269bb/dotnet-runtime-3.0.0-preview8-28405-07-linux-arm.tar.gz sudo mkdir /usr/share/dotnet export PATH=$PATH:/usr/share/dotnet/ sudo tar zxf dotnet-runtime-3.0.0-preview8-28405-07-linux-arm.tar.gz -C /usr/share/dotnet
Eventuell musst du in Zukunft den Pfad vom wget Statement an die aktuelle Version anpassen.
SDK
Die Version für Entwickler steht ebenso zum Download in der Preview 8 Version:
wget https://download.visualstudio.microsoft.com/download/pr/f91f8a12-9278-452c-9c1d-2db285d1ed24/1b9e29825adfaab4a4b616464b00ccc0/dotnet-sdk-3.0.100-preview8-013656-linux-arm.tar.gz sudo mkdir /usr/share/dotnet-sdk export PATH=$PATH:/usr/share/dotnet-sdk/ sudo tar zxf dotnet-sdk-3.0.100-preview8-013656-linux-arm.tar.gz -C /usr/share/dotnet-sdk/
Verifizieren können wir die korrekte Installation mit dem folgenden Befehl:
dotnet --info
Fazit
Die Preview der .NET Core 3 Version ist am Raspberry Pi ebenso einfach zu installieren wie die aktuell stabile Version 2.2. Ich habe aus meinem Raspberry Pi Entwicklungsrechner nun einen .NET Core Testrechner gemacht. Ich bin nun für neue C# 8.0 und .NET Core 3 Projekte gerüstet. In den nächsten Wochen werde ich versuchen damit die GPIO Schnittstelle anzusprechen und ein grafisches .NET Core Programm zu schreiben. Ich weiß WPF geht nur auf Windows, aber es gibt ja gute Alternativen!
Warum installierst du .NET Core 3 am Raspberry Pi, oder warum nicht?
Ich kann diesen Hype um .Net nicht verstehen.
Vielleicht kannst du mir das mal er klären. Gerade wenn man jetzt zum Beispiel auf die GPIO zu greift wir das Programm eh nur auf dem PI Laufen.
Letztens muss ich auch einem Bild die Farbe raus Rechnen mit Net alleine 45 Sekunden pro Bild mit C++ 1 Sekunde pro Bild.
Ich werde privat zu Mindestens bei C++ bleiben im Job ist es ja leider nicht meine Entscheidung. Ganz Ehrlich umso mehr ich die Erweiterungen von 11 oder 14 verstehe umso weniger verstehe ich warum man .Net benutzen will. Ich finde es nach wie vor sehr Ineffetiv. Und wenn man dann in Performens Problem kommt muss man sich eh wieder mit Speicherverwaltung und so beschäftigen.
Ich finde auch Programme habe einen CO² Foodprint und das Ignorieren wir Programmierer zum Teil echt sehr effektiv.
Azure! Bei uns in der Firma wird gerade jede Software in Microservices zerlegt, in .NET neu geschrieben und in die Cloud gepackt.
Ich entwickle seid ca. 30 Jahren mit C++ und seid 2003 mit c#, ich bin also in beiden Sprachen fit. Warum will ich dann trotzdem C# am Raspi machen ???
Der Grund ist Produktivität. Obwohl ich sehr fit in C++ bin kann ich ein Problem wesentlich schneller in C# entwickeln.
Und gerade in meiner Freizeit, ist Zeit ein wichtiger Faktor. Ich will interessante Dinge mit dem Raspi machen und das in kurzer Zeit. Die Core Version ist schnell genug, es gibt Packages für GPIO, Kamera, Sensoren usw.
Was will ich mehr .