Visual Studio Code & .Net Core ARM-Unterstützung

15

Ich bin neu auf der Raspberry Pi-Plattform und habe Ressourcen gesammelt und versucht festzustellen, wofür der kleine Computer (nicht) geeignet ist.

Ich verstehe, dass Python die ideale Programmierumgebung für die Steuerung und Automatisierung von R-Pi-Zubehör und Controllern ist. Ich kann es kaum erwarten, das auszuprobieren. Ich versuche jedoch auch festzustellen, wie der Pi für einige Web-App-Entwicklung (Testen) verwendet werden soll.

Ich bin mir sicher, dass Sie von Microsoft gehört haben, das sein .NET Core-Framework als Open Source zur Verfügung stellt sowie den (wirklich großartigen) Code-Editor Visual Studio Code. Ab sofort sind die Binärdateien unter anderem nur für Linux ia32 / x64-Architekturen freigegeben.

Hat jemand von euch irgendwelche Fortschritte in der ARM-Branche gesehen? Vielleicht haben Sie einige Problemumgehungen oder inoffizielle Veröffentlichungen gesehen, die es wert sind, überprüft zu werden?

Vielen Dank im Voraus für Ihre Eingabe.

Prost!

Michal M. Maslowski
quelle

Antworten:

14

Die Community ist dabei, Dotnet Core für ARM zu entwickeln. Samsung ist kürzlich der Dotnet Foundation beigetreten, um (hauptsächlich) für ARM zu arbeiten.

.NET ist eine großartige Technologie, die die Entwicklerproduktivität dramatisch steigert. Samsung hat einen Beitrag zu .NET Core auf GitHub geleistet - insbesondere im Bereich des ARM-Supports - und wir freuen uns darauf, einen weiteren Beitrag zur .NET Open Source-Community zu leisten. Samsung ist froh, der Technical Steering Group der .NET Foundation beizutreten und mehr Entwicklern dabei zu helfen, die Vorteile von .NET zu nutzen.

- Hong-Seok Kim, Vizepräsident von Samsung Electronics

Die Community verfolgt den Fortschritt mit den Regressionstests für ein Github-Problem: https://github.com/dotnet/coreclr/issues/3977

Um alle offenen Probleme anzuzeigen, durchsuchen Sie den dotnet / coreclr-Github nach dem ARM-Tag: https://github.com/dotnet/coreclr/labels/ARM

SynerCoder
quelle
4

Die .NET-Sprachenklasse wird derzeit auf dem Raspberry Pi 2 alle unterstützt, wenn Sie Windows 10 IOT als Betriebssystem verwenden.

Die IOT-Version des Betriebssystems unterscheidet sich ein wenig von Standard-Windows. Es ist als kopfloses Gerät konzipiert. Als solches wird es kein Display oder einen herkömmlichen Desktop haben.

Wenn Sie .NET unter Raspbian verwenden möchten, können Sie ein Softwarepaket namens Mono ausprobieren. Es ist nicht offiziell, aber für C # -Entwickler unter Linux sehr beliebt.

Jacobm001
quelle
3
1. Microsoft Windows 10 "IoT Core" ist nicht kopflos, aber Sie können jeweils nur eine (1) App im Vollbildmodus ausführen. 2. Xamarin / Mono integriert derzeit Microsoft-Code. Ich weiß nicht, ob und wie dieser sichtbar ist in Raspbian
Flakeshake
@flakeshake: Ich verstehe, dass es ohne Kopf aus der Box ist und Sie müssen die Fähigkeit hinzufügen, eine App über ein Modul anzuzeigen. Ist das korrekt?
Jacobm001
Nein, beim ersten Start werden auf dem Bildschirm bereits Informationen (IP-Adresse usw.) angezeigt. UWP-Apps sind implizit kopflastig.
Flakeshake
Vielen Dank für die bisherigen Antworten, super! Ja, ich bin mit der Windows IOT-Plattform vertraut. Abgesehen davon dachte ich mehr darüber nach, das Linux-Betriebssystem als Basis beizubehalten und es als normalen Computer zu verwenden. Ich werde auf jeden Fall Ihre Vorschläge berücksichtigen.
Michal M. Maslowski
Gibt es hier irgendwelche Fortschritte? .NET Core wird in wenigen Tagen offiziell veröffentlicht. Beispielsweise sollte es eine Möglichkeit geben, .NET Core-Anwendungen in Raspbian auszuführen.
SuperJMN
2

Mono läuft auf Raspberry Pi okay , aber bewusst sein , es aus Performance - Problemen leidet ( Der, den ich verwenden ist Mono JIT - Compiler Version 3.2.8 (Debian 3.2.8 + dfsg-10) ).

Ich führe eine Handvoll Konsolenanwendungen auf RBP aus (geschrieben in .Net 4.5). Die Apps führen im Wesentlichen einige REST-Aufrufe aus. Es ist eine Überwachungsanwendung, und wenn das Lesen von Daten normal ist, schreibt die Anwendung auf die Konsole, dass die Dinge in Ordnung sind und beendet werden. Mit dem RestSharp-Paket werden keine ausgefallenen Anrufe und Pausen getätigt. Einfache Anwendungen von oben nach unten - keine Schleifen usw.

Die Ausführung meiner Anwendung auf Raspberry Pi dauert ungefähr 3 Sekunden. Sehr langsam im Vergleich zu anderen Sachen, die meine RBI macht.

Fazit: Ja, Mono funktioniert, würde es aber nur mit einem Körnchen Salz verwenden.

Stolperte über diesen Artikel bei der Suche nach Mono-Leistung auf Raspberry Pi.

Sri
quelle
0

.Net Core ist noch sehr neu und verfügt nicht über viele Funktionen.

Aber Mono ist wirklich die Wahl, wenn Sie auf Unixen laufen möchten, auch auf ARM. Tatsächlich wird Mono wirklich von Microsoft selbst gesponsert, sogar Xamarin, das Unternehmen, das hinter Mono steht, wurde von Microsoft gekauft, und Mono ist auf der Roadmap von .net Entwicklung von Microsoft.

Es hat tatsächlich produktionsreife Qualität, ich benutze es in vielen Servern mit Linux und auf meinem RPI 2.

Und Sie können mit Visual Studio 2015 Community Edition einfach programmieren, was Sie möchten, kompilieren und das Programm an Ihren RPI senden. Es wird funktionieren. Beachten Sie jedoch, dass Forms eine sehr schlechte Unterstützung bietet, wenn Sie auf Konsolen- oder Dienstprogramme abzielen Kein Problem, ansonsten können Sie ein GTK-Projekt erstellen, das Formularen sehr ähnlich ist, aber MonoDevelop verwendet.

Nur eine Anmerkung, es muss ein Rpi 2 sein, Mono verwendet jetzt Hard Float und Rpi1 unterstützt es nicht (oder Sie können sich auf dem RPI Mono kompilieren und die Hard Float-Unterstützung deaktivieren).

Gusman
quelle