Prise en charge de Visual Studio Code et .Net Core ARM

15

Je suis nouveau sur la plate-forme Raspberry Pi et j'ai collecté des ressources et essayé de déterminer à quoi le petit ordinateur est (non) adapté.

Je comprends que Python est l'environnement de programmation incontournable pour le contrôle et l'automatisation des accessoires R-Pi et des contrôleurs; J'ai hâte de l'essayer. Cependant, j'essaie également de déterminer comment utiliser le Pi pour certains développements d'applications Web (tests).

Je suis sûr que vous avez entendu parler de Microsoft qui rend son framework .Net Core disponible en open source, ainsi que son (vraiment super) éditeur de code, Visual Studio Code. Pour l'instant, les fichiers binaires n'ont été publiés que pour les architectures Linux ia32 / x64 (entre autres).

L'un de vous a-t-il constaté des progrès dans la branche ARM? Peut-être avez-vous vu des solutions de contournement ou des versions non officielles qui valent la peine d'être vérifiées?

Merci d'avance pour votre contribution.

À votre santé!

Michal M. Maslowski
la source

Réponses:

14

La communauté est en train de faire fonctionner le noyau dotnet sur ARM. Samsung a récemment rejoint la fondation dotnet pour (principalement) travailler pour ARM.

.NET est une excellente technologie qui augmente considérablement la productivité des développeurs. Samsung a contribué à .NET Core sur GitHub - en particulier dans le domaine de la prise en charge ARM - et nous sommes impatients de contribuer davantage à la communauté open source .NET. Samsung est heureux de rejoindre le groupe de pilotage technique de la Fondation .NET et d'aider plus de développeurs à profiter des avantages de .NET.

- Hong-Seok Kim, vice-président, Samsung Electronics

La communauté suit les progrès avec les tests de régression sur un problème de github: https://github.com/dotnet/coreclr/issues/3977

Pour afficher tous les problèmes ouverts, recherchez dans le github dotnet / coreclr le tag ARM: https://github.com/dotnet/coreclr/labels/ARM

SynerCoder
la source
4

La classe de langues .NET est actuellement prise en charge sur le Raspberry Pi 2 si vous utilisez Windows 10 IOT comme système d'exploitation.

La version IOT du système d'exploitation est un peu différente de Windows standard. Il est conçu pour être un appareil sans tête. En tant que tel, il n'aura ni écran ni bureau traditionnel.

Si vous souhaitez utiliser .NET sur Raspbian, vous pouvez essayer un progiciel appelé Mono. Ce n'est pas officiel, mais il est très populaire pour les développeurs C # sous Linux.

Jacobm001
la source
3
1. Microsoft Windows 10 «IoT Core» n'est pas sans tête, mais vous ne pouvez exécuter qu'une (1) application en plein écran à la fois 2. Xamarin / Mono intègre actuellement du code Microsoft, je ne sais pas si et comment cela est visible dans Raspbian
flakeshake
@flakeshake: D'après ce que je comprends, c'est sans tête, prêt à l'emploi, et vous devez ajouter la possibilité d'afficher une application via un module. Est-ce exact?
Jacobm001
Non, au premier démarrage, l'écran affichera déjà des informations (adresse IP, etc.). Les applications UWP sont implicitement entêtantes.
flakeshake
Merci pour les réponses jusqu'à présent, super! Oui, je connais la plate-forme Windows IOT; cela étant dit, je pensais davantage à garder le système d'exploitation Linux comme base et à l'utiliser comme un ordinateur ordinaire. Je garderai à l'esprit vos suggestions, c'est certain.
Michal M. Maslowski
Y a-t-il des progrès avec cela? .NET Core va sortir officiellement dans quelques jours. Il devrait y avoir un moyen d'exécuter des applications .NET Core dans Raspbian, par exemple.
SuperJMN
2

Mono fonctionne bien sur Raspberry Pi mais sachez qu'il souffre de problèmes de performances ( celui que j'utilise est le compilateur Mono JIT version 3.2.8 (Debian 3.2.8 + dfsg-10) ).

J'exécute une poignée d'applications de console sur RBP (écrit en .Net 4.5). Les applications effectuent essentiellement quelques appels REST. C'est une application de surveillance et lorsque la lecture des données est normale, l'application écrit sur la console que les choses vont bien et se termine. Rien d'appels fantaisistes et de repos ne sont effectués à l'aide du package RestSharp. Applications simples de haut en bas - pas de boucles, etc.

Mon application prend environ 3 secondes pour s'exécuter sur Raspberry Pi. Très lent par rapport à d'autres trucs que fait mon RBI.

Bottom line: oui mono fonctionne mais embrasserait l'utiliser uniquement avec un grain de sel.

Je suis tombé sur cet article lors de la recherche de performances Mono sur Raspberry pi.

Sri
la source
0

.Net Core est encore très nouveau et manque de nombreuses fonctionnalités.

Mais Mono est vraiment le choix si vous voulez passer à unix, même sur ARM, en fait Mono est vraiment sponsorisé par Microsoft lui-même, même Xamarin, la société derrière Mono a été achetée par Microsoft, et Mono est sur la feuille de route de .net développement par Microsoft.

Il a en fait une qualité prête à la production, je l'utilise dans beaucoup de serveurs avec linux et sur mon rpi 2.

Et vous pouvez simplement programmer ce que vous voulez sur Windows avec Visual Studio 2015 Community Edition, le compiler et envoyer à votre rpi le programme, cela fonctionnera (mais attention, Forms a un très mauvais support, si vous ciblez des programmes de console ou de service que vous aurez pas de problème, sinon vous pouvez créer un projet GTK qui est très similaire aux formulaires mais en utilisant MonoDevelop).

Seule remarque, il doit s'agir d'un Rpi 2, mono utilise désormais le flottant dur et Rpi1 ne le prend pas en charge (ou vous pouvez vous compiler sur le rpi mono et désactiver le support du flottant dur).

Gusman
la source