gentoo linux, java, software libre y otras hierbas
dic, 10 2007 - 1:28 pm

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:

windows forms en openSuse

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.

57 Comentarios | deja el tuyo

2 enlaces entrantes

55 Comentarios en “C#, crear una aplicación usando Mono [referenciando Windows.Forms]”

  1. Felipe dice:

    como puedo hacer un punto de venta utilizando aplicaciones windows podrian darme un ejemplo, pasenla chido

  2. Fran dice:

    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.

  3. giko dice:

    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

  4. yelinna dice:

    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…
    :P

  5. JC# dice:

    gracias por tu ayuda….me sirvio de muchoo….

    Pero me gusta Ubuntu…

  6. Jose David dice:

    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.

  7. Amaury Viera Hernández dice:

    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

  8. kazike dice:

    Pues a mi me parece que se os ha ido la castaña, os centrais demasiado en un comentario y opinion personal y no en lo importante del post xD

    Saludos!

¡Déjanos tu comentario!