Compatibilidad con Visual Studio Code y .Net Core ARM

15

Soy nuevo en la plataforma Raspberry Pi y he estado recolectando recursos e intentando determinar para qué (no) es adecuada la pequeña computadora.

Entiendo que Python es el entorno de programación ideal para el control y la automatización de los accesorios y controladores R-Pi; No puedo esperar para probar eso. Sin embargo, también estoy tratando de determinar cómo usar el Pi para el desarrollo de algunas aplicaciones web (pruebas).

Estoy seguro de que ha oído hablar de Microsoft haciendo que su marco .Net Core esté disponible como código abierto, así como su editor de código (realmente genial), Visual Studio Code. A partir de ahora, los archivos binarios solo se han lanzado para arquitecturas Linux ia32 / x64 (entre otras).

¿Alguien de ustedes ha visto algún progreso en la rama ARM? Tal vez, ¿ha visto algunas soluciones o lanzamientos no oficiales que vale la pena ver?

Gracias de antemano por sus comentarios.

¡Salud!

Michal M. Maslowski
fuente

Respuestas:

14

La comunidad está en proceso de hacer que dotnet core trabaje en ARM. Samsung se unió recientemente a la fundación dotnet para (en su mayoría) trabajar para ARM.

.NET es una gran tecnología que aumenta drásticamente la productividad del desarrollador. Samsung ha estado contribuyendo a .NET Core en GitHub, especialmente en el área de soporte ARM , y esperamos contribuir aún más a la comunidad de código abierto .NET. Samsung se complace en unirse al Grupo de Dirección Técnica de la Fundación .NET y ayudar a más desarrolladores a disfrutar de los beneficios de .NET.

- Hong-Seok Kim, Vicepresidente, Samsung Electronics

La comunidad está siguiendo el progreso con las pruebas de regresión en un problema de github: https://github.com/dotnet/coreclr/issues/3977

Para ver todos los problemas abiertos, busque la etiqueta ARM en dotnet / coreclr github: https://github.com/dotnet/coreclr/labels/ARM

SynerCoder
fuente
4

La clase de idiomas .NET actualmente es compatible con Raspberry Pi 2 si usa Windows 10 IOT como su sistema operativo.

La versión IOT del sistema operativo es un poco diferente de Windows estándar. Está diseñado para ser un dispositivo sin cabeza. Como tal, no tendrá una pantalla o un escritorio tradicional.

Si desea usar .NET en Raspbian, puede probar un paquete de software llamado Mono. No es oficial, pero es muy popular para los desarrolladores de C # en Linux.

Jacobm001
fuente
3
1. Microsoft Windows 10 "IoT Core" no tiene cabeza, pero solo puede ejecutar una (1) aplicación en pantalla completa a la vez 2. Xamarin / Mono está integrando actualmente el código de Microsoft, no sé si eso es visible en Raspbian
flakeshake
@flakeshake: Entiendo que no tiene cabeza fuera de la caja, y tiene que agregar la capacidad de mostrar una aplicación a través de un módulo. ¿Es eso correcto?
Jacobm001
No, en el primer arranque, la pantalla ya mostrará información (dirección IP, etc.). Las aplicaciones para UWP son implícitamente llenas.
Flakeshake
Gracias por las respuestas hasta ahora, ¡genial! Sí, estoy familiarizado con la plataforma Windows IOT; Dicho esto, estaba pensando más en mantener el sistema operativo Linux como base y usarlo como una computadora normal. Tendré en cuenta sus sugerencias, seguro.
Michal M. Maslowski
¿Hay algún progreso con esto? .NET Core se lanzará en unos días de manera oficial. Debería haber una manera de ejecutar aplicaciones .NET Core en Raspbian, por ejemplo.
SuperJMN
2

Mono funciona bien en Raspberry Pi, pero tenga en cuenta que tiene problemas de rendimiento ( el que uso es el compilador Mono JIT versión 3.2.8 (Debian 3.2.8 + dfsg-10) ).

Ejecuto un puñado de aplicaciones de consola en RBP (escrito en .Net 4.5). Las aplicaciones esencialmente hacen un par de llamadas REST. Es una aplicación de monitoreo y cuando la lectura de datos es normal, la aplicación escribe en la consola que las cosas están bien y termina. No se hacen nada de lujo y llamadas de descanso utilizando el paquete RestSharp. Aplicaciones simples de arriba a abajo: sin bucles, etc.

Mi aplicación tarda unos 3 segundos en ejecutarse en Raspberry Pi. Muy lento en comparación con otras cosas que hace mi RBI.

En pocas palabras: sí, mono funciona, pero aceptaría usarlo solo con un grano de sal.

Encontré este artículo cuando busqué el rendimiento Mono en Raspberry pi.

Sri
fuente
0

.Net Core todavía es muy nuevo y carece de muchas características.

Pero Mono es realmente la opción si quieres usar Unixes, incluso en ARM, en realidad Mono está siendo patrocinado por Microsoft, incluso Xamarin, la compañía detrás de Mono ha sido comprada por Microsoft, y Mono está en la hoja de ruta de .net desarrollo por Microsoft.

En realidad tiene una calidad lista para producción, lo uso en muchos servidores con Linux y en mi rpi 2.

Y puede programar lo que quiera en Windows con Visual Studio 2015 Community Edition, compilarlo y enviarlo a su rpi, el programa funcionará (pero tenga cuidado, Forms tiene muy mal soporte, si apunta a la consola o los programas de servicio tendrá no hay problema, de lo contrario puede crear un proyecto GTK que es muy similar a los formularios pero usando MonoDevelop).

Solo una nota, debe ser un Rpi 2, mono ahora usa hard float y Rpi1 no lo admite (o puede compilarse en el rpi mono y deshabilitar el soporte de hard float).

Gusman
fuente