Desarrollando C # en Linux


107

Me gustaría saber si existen herramientas efectivas y de código abierto para desarrollar aplicaciones C # en Linux (Ubuntu). En particular, tengo que desarrollar aplicaciones de Windows Forms.

Sé sobre el proyecto Mono , pero nunca lo he usado. ¿Cuáles son las mejores herramientas (IDE, compilador, etc.) para configurar un entorno de desarrollo .NET en Ubuntu?

¿El software desarrollado en Linux se puede ejecutar en Windows? ¿Existen diferentes comportamientos o incompatibilidades?


También no dude en consultar esta pregunta stackoverflow.com/questions/151350/…
NlightNFotis

Esto también podría ser útil de alguna manera stackoverflow.com/questions/716077/…
NlightNFotis

Esto también puede ser de interés: mono-project.com/WinForms_Getting_Started_Guide
NlightNFotis

Respuestas:


69

MonoDevelop, el IDE asociado con Mono Project debería ser suficiente para el desarrollo de C # en Linux. Ahora no conozco ningún buen perfilador y otras herramientas para el desarrollo de C # en Linux. Pero, de nuevo, tenga en cuenta que C # es un lenguaje más nativo de Windows. Es mejor desarrollar aplicaciones C # para Windows que para Linux.

EDITAR: Cuando descargue MonoDevelop desde el Centro de software de Ubuntu, contendrá prácticamente todo lo que necesita para comenzar de inmediato (compilador, entorno de ejecución, IDE). Si desea obtener más información, consulte los siguientes enlaces:


1
¿Es un software desarrollado en Linux que se puede ejecutar en Windows?
davioooh

2
El software desarrollado en Windows o Linux se puede ejecutar sobre .Net Framework. Por lo tanto, siempre que sea posible instalar .Net framework en el sistema operativo, puede ejecutar la aplicación. Sin embargo, te
enteraste

@nvrtheless Me preguntaba si una implementación diferente del marco puede crear incompatibilidades
davioooh

4
Hasta donde yo sé, la compatibilidad con versiones anteriores siempre está ahí. Pueden surgir problemas si intenta ejecutar una aplicación sobre .Net 2.0 desarrollada con .Net 3.5 o versiones posteriores.
Shiham

Aunque debe tener en cuenta que .Net siempre es capaz de más en Windows. Mono es más un proyecto de compatibilidad que una implementación real de un kit de desarrollo de software. Así es como yo lo veo al menos.
NlightNFotis


9

Sugeriría usar MonoDevelop.

Está diseñado de forma bastante explícita para su uso con Mono, y todo está configurado para desarrollarse en C #.

La forma más sencilla de instalarlo en Ubuntu sería instalar el paquete monodevelop en Ubuntu. ( enlace en Mono en ubuntu.com ) (Sin embargo, si desea instalar una versión más reciente, no estoy seguro de qué PPA sería apropiado)

Sin embargo, no recomendaría desarrollar con el kit de herramientas de WinForms; no espero que tenga el mismo comportamiento en Windows y Mono (las implementaciones son bastante diferentes). Para obtener una descripción general de los kits de herramientas de la interfaz de usuario que funcionan con Mono, puede ir a la página de información en Mono-project .


8

Mono Develop es lo que desea, si ha utilizado Visual Studio, debería encontrarlo lo suficientemente simple como para comenzar.

Si mal no recuerdo, debería poder instalar con sudo apt-get install monodevelop


El comando de instalación es correcto, sin embargo, debe asegurarse de haber agregado el repositorio monodesarrollo a su sistema antes de hacer esto. Aquí hay un enlace que funciona actualmente: monodevelop.com/download Y aquí está la forma de agregar el repositorio: `` `sudo apt install apt-transport-https dirmngr sudo apt-key adv --keyserver hkp: //keyserver.ubuntu. com: 80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb download.mono-project.com/repo/ubuntu vs-bionic main" | sudo tee /etc/apt/sources.list.d/mono-official-vs.list sudo apt update `` ''
FreedomInChaos

6

Mono es un entorno de ejecución que puede ejecutar aplicaciones .NET y que funciona tanto en Windows como en Linux. Incluye un compilador de C #.

Como IDE, podría usar MonoDevelop , y supongo que también hay algo disponible para Eclipse.

Tenga en cuenta que el soporte de WinForms en Mono está ahí, pero algo deficiente. En general, los desarrolladores de Mono parecen preferir diferentes kits de herramientas de GUI como Gtk #.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.