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.
57 Comentarios | deja el tuyo





Soy homosexual!!!
Vale, vale… eso no le interesa a nadie!
Es muy interesante la publicacion que hace al trabajar con windows form. bueno particuale mente me ayuda mucho sabes ahora estiy buscando ayuda para hacer un chat en ipv6 en C# usando mono. si puedes ayudarme Gracias de antemano
Gracias por tu comentario… pero lamento decirte que ahora no cuento con mucho tiempo. De verdad lo siento mucho, pero no podré ayudarte
Hola, necesito saber si con la ultima version de mono puedo hacer una aplicacion para la gestion de archivo audiovisuales, usando Postgre.Ademas necesito que sea multiplataforma, y completamente libre, si serian tan amable, me gustaria saber si java es propietaria, y si c# lo es tambien.
Saludos
Claro que puedes hacerlo.
Con respecto a lo de Java, pues es un lío lo de las liciencias, ya que es mucho lo que se ha dicho. De momento te sirve saber que puedes usar Java sin pagar licencias a Sun, es decir, es gratuito. Más info aquí:
http://www.sun.com/software/opensource/java/faq.jsp
Y C#… pues es un estándar. Por eso, aunque lo creó Microsoft, es posible encontrar implementaciones gratuitas como la que usa Mono.
Un saludo!
Gracias colega, es que trabajo en mi tesis, y necesitaba hacer una fundamentacion buena de la herramienta de trabajo que debo usar, y me voy con mono+ c#.
saludos!!!
¿netbeans 6.0 vs mono versión beta 1.2?.
quien tenga experiencia con ambas plataformas que me de su criterio.
Saludos!!!1
Ten enclaro dos conceptos: NetBeans es un IDE, y mono una implementación de .NET.
Tal vez te refieres a MonoDevelop, que es un IDE para la plataforma Mono. Si te refieres a NetBeans vs MonoDevelop, pues lo que te puedo decir es que NetBeans es mucho más maduro que MonoDevelop.
Pero ten en cuenta que uno es para Java y el otro para otros lenguajes (C#, C, Boo, etc.)
Un saludo!
Casidiablo ¿Cuando intalas la versión Mono versión beta 1.2. Esta ya trae incluida el IDE monodevelop?
No. Vienen por separado
Tengo una duditas y si usted seria tan amable se lo agradeceria:
Yo desarrolle una aplicacion con monodeveloment en C#.
Que requisitos de software debo tener para que me corra en windows y linux….
saludos.
Eso depende de qué librerías usas. Por ejemplo, si usas el .NET básico y quizás algo de Windows.Forms, no deberías hacer practicamente nada.
Ahora, si lo hiciste usando, por ejemplo, las librerías de Gtk#, pues tendrías que instalar dichas librerías en Windows.
Lo pillas? Todo depende de la aplicación!
Un saludo!
bueno a lo que me referia era si debia tener intalado en mi pc la plataforma mono, para correr aplicaciones desarrollas en monodevelop.
No. La idea es solo tener el Framework de .NET