Est-il possible (et réalisable) d'exécuter des applications .NET sur le Raspberry Pi avec Mono ?
Si oui, comment fonctionnent-ils? Une interface graphique de base est-elle utilisable ou une performance médiocre la limite-t-elle de manière réaliste aux applications en ligne de commande?
mono
software-development
berry120
la source
la source
Réponses:
Il existe une question StackOverflow assez similaire à celle-ci, Mono sur Raspberry Pi . Cependant, mes propres recherches ne m'ont pas permis de trouver quoi que ce soit de spécifique à .NET, mais plutôt de C #.
Vous pouvez installer le runtime en utilisant APT sur une distribution Debian en exécutant:
Vous pouvez également (en supposant que vous ayez une sorte d’interface graphique telle que LXDE) installer un IDE Mono lent avec:
Pour Arch Linux ARM, vous devez installer le runtime via Pacman , comme suit:
Mono IDE peut être installé de la même manière:
la source
Contrairement à la croyance populaire, le code compilé par VB.NET fonctionne très bien sur Raspberry Pi, du moins sous Debian. apt-get installez mono-vbnc puis exécutez votre fichier exe VB en tant qu'argument pour mono, par exemple mono yourexe.exe
Je n'ai pas fait de référence en termes de performances, car je n'écris pas d'application à haute performance, mais cela semble aller jusqu'à présent.
la source
Le code .NET qui utilise les bibliothèques .NET Framework ne peut pas s'exécuter sur Raspberry Pi car il nécessite une version compatible ARM de NETMF ou CLR . Pour l'instant, Microsoft n'a pas encore publié Windows on ARM (WoA). Reportez-vous à l' expérience 19 pour les travaux CLR de Microsoft Research sur ARM.
Toutefois, l’exécution de code .NET (sans référence ni utilisation de bibliothèques .NET Framework) est possible avec Mono car Mono a un CLR pour les périphériques ARM.
Voir également Construction de Windows pour l'architecture de processeur ARM pour plus d'informations sur Windows on ARM (WoA).
la source
J'ai une application .NET en ligne de commande pour travailler avec Mono. En gros, l’application ressemble à une redirection de port, en prenant les données reçues via l’UART en série et en les transmettant via TCP / IP. Il utilise les classes .NET SerialPort, TcpListener, TcpClient et Socket. Seules des modifications mineures du code de traitement SerialPort sont nécessaires. J'utilise le système d'exploitation flottant de Debian.
En termes de performances, la première chose que j'ai constatée a été un ralentissement important du code de trace / débogage qui formait un tableau d'octets en une chaîne à des fins de journalisation. C'était 50 fois plus lent que sur un PC.
Je vous recommande donc d’écrire des tests de performance lorsque vous portez du code existant sur le RPi.
Pour les tests unitaires, NUnit fonctionne bien sur le ...
Pour installer NUnit:
Courir:
la source