C#, crear una aplicación usando Mono [referenciando Windows.Forms]
Ya daba un pequeño ejemplo en la entrada “Acerca de Mono“, mas en la anterior ( C#, crear una aplicación usando Visual Studio) ponía dos ejemplos:
- Crear una aplicación en modo consola
- Crear una aplicación que usaba levemente la API de Windows.Forms
Pues bien, teniendo en cuenta que ya he explicado cómo se compilan y ejecutan aplicaciones simples, hagamos una en la que se utilice el namespace System.Windows.Forms. Supongamos que tenemos la aplicación en C# siguiente:
//Un mensaje en un MessageBox con C#
using System.Windows.Forms;
class Hola3
{
static void Main(string[] args)
{
MessageBox.Show("Hola Bill, no me gusta tu sistema");
}
}
Lo primero que debes tener en cuenta, es que es necesario que esté instalado el módudo Windows Forms para Mono. Ahora debemos referenciar el archivo System.Windows.Forms.dll al compilar la aplicación. En mi caso, dicho archivo se encuentra en /usr/lib/mono/1.0/, así que ejecutamos el compilador de mono para C Sharp (mcs) con el flag -reference (o solo -r), seguido de la ruta del archivo a referenciar:
casidiablo@punko:~/c#> mcs -reference:/usr/lib/mono/1.0/System.Windows.Forms.dll Hola3.cs
casidiablo@punko:~/c#> mono Hola3.exe
Lo cual mostrará lo siguiente:

Como ven funciona perfectamente… y me gustaría hacer una recomendación a los interesados en el tema: ustedes pueden usar en Mono en cualquier distribución de Gnu/Linux (y en muchas otras plataformas), pero yo les recomiendo que usen openSuse. ¿por qué? Bien:
- Mono es un proyecto sustentado por Novell (al igual que openSuse), y como se podrán dar cuenta en la página de descargas, el centro de atracción de la paquetería es openSuse y sus RPM.
- openSuse viene además con la posibilidad de que instales Mono desde el CD, así que desde el principio tendrás tu sistema con la capacidad de compilar y ejecutar aplicaciones con Mono. (además de venir con servidores Web y otras herramientas)
- Ubuntu no es un buen sistema para desarrollar software, es más para usuarios “normales”… por ejemplo al instalarlo no tienes nisiquiera el gcc preinstalado, así que, aunque puedas usarlo con Mono, lo más probable es que tengas más problemas que usando openSuse. Pero claro, todo es decisión tuya.
56 Comentarios | deja el tuyo





como puedo hacer un punto de venta utilizando aplicaciones windows podrian darme un ejemplo, pasenla chido
Hola,
El comentario que haces sobre Ubuntu me parece totalmente gratuito y carece de fundamento. Personalmente uso Monodevelop en Ubuntu y no he tenido jamás ningún problema ni carencia. Absolutamente todos los paquetes que he necesitados están disponibles en los repositorios de la distribución.
Estoy de acuerdo con Fran, ubuntu o cualquier otro sistema linux no tiene nada ke ver, en mi caso yo igual uso mono en Ubuntu y trabajo a la perfección.
Ahora decir que novell le da mas soporte a los programas que se utilizan bajo su sistema eso es muy diferente y mas creible para optar por usar openSUSE.
Un saludo
Pero a mí me gusta el Ubuntu, y el Mono con el Ubuntu, y el Windows Forms con el Mono, y el C# con Visual Studio…
gracias por tu ayuda….me sirvio de muchoo….
Pero me gusta Ubuntu…
A mi me parece que Ubuntu no tiene nada que envidiarle en cuando a desarrollo de software a ninguna otra distro de Linux , a mi me corren todos los Ide’s a la perfección.
Pues a mi me parece que tiene muchisimo que envidiarle a openSUSE para el desarrollo de aplicaciones sobre mono y la migración de las mismas desde .Net hacia plataforma libre. He probado ambas mucho y para servidores web y el cambio constante de una versión de mono a .otra es mucho más complicado en Ubuntu que en openSUSE