
Introducción
Ya que no hay demasiado documentación de Mono en la red y creo que es una alternativa muy válida para muchos proyectos, voy a seguir publicando más tutoriales y tips sobre este tema.
Mi intención hoy es comentar cómo referenciar el conector de MySQL dentro de un proyecto de Mono con MonoDevelop, de forma que podamos utilizarlo con la arquitectura y las funcionalidades de ADO.NET para manejar datos con un servidor de base de datos MySQL. El conector os valdrá tanto para aplicaciones web como locales.
Si no conocéis ADO.NET os recomiendo que os leáis el artículo al que os referencio de la Wikipedia porque realmente es una arquitectura muy útil para el manejo de datos, aunque los más puristas la rechazarán por venir de Microsoft.
Instalación
Lo primero será estar seguros de que tenemos instalados Mono, MonoDevelop y que tenemos a nuestro alcance un servidor de MySQL al que conectarnos. Si no lo tenéis instalados podéis instarlo prácticamente seguro desde vuestro gestor de paquetes y en todo caso, desde la web oficial del Proyecto Mono. Una vez hecho esto descargaremos el conector desde este enlace en la web de MySQL. Elegimos la plataforma: “.NET & Mono”. Se os descargará un fichero dll con los ensamblados correspondientes.

Referencia dentro de un proyecto
Ahora nos dirigimos a Mono Develop y creamos una solución nueva (da igual si de consola o GTK#). Al crearse la solución nos dirigimos a las Referencias del proyecto y desde allí importamos el ensamblado. Para ello seleccionáis “Editar referencias…”. De las tres opciones que aparecen en el diálogo entramos en “Ensamblado .NET”, elegimos el fichero dll que acabamos de descargar y lo añadimos.
Prueba
Para terminar vamos a probar que todo está bien. En el Main.cs vamos a implementar el típico ¡Hola Mundo!, añadiéndole al comienzo una referencia al conector. Si compila correctamente hemos llegado a nuestro objetivo.
using System;
using MySql.Data.MySqlClient;
namespace ejemplo_mono_ado
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
En un futuro post explicaré más sobre el uso y la potencia de esta herramienta.

Si hace unos días hablábamos de la posibilidad de ejecutar aplicaciones ASP.NET en nuestro equipo Linux con XSP, hoy traemos la que podría ser la segunda parte de ese artículo: hacer esto mismo pero con Apache y mod_mono.

¿Por qué escoger este binomio en lugar de XSP? La respuesta es fácil: XSP es un servidor de pruebas, no de producción y si queremos tener un servicio o aplicación web ejecutando de forma decente en producción, mejor utilizar Apache y mod_mono. Las razones no son sólo por la escalabilidad y eficiencia que permite Apache, sino que están relacionadas por la seguridad que provee el servidor más utilizado a nivel mundial y por la gran variedad de opciones que nos ofrece.
De todas maneras sigo pensando que al igual que el servidor de pruebas de Django es útil para las pruebas, XSP es un buen servidor de pruebas para practicar con nuestro PC cuando estemos aprendiendo ASP.NET. Cuando la aplicación se hace compleja y sobre todo queramos pasarla a producción, Apache.
Instalación y configuración
- Instalamos:
- Apache 2 (si utilizáis sistema de paquetería será algo así como apache2).
- Módulo para multiproceso: apache2-mpm-worker.
- Módulo de Mono: libapache2-mod-mono.
- Interfaz entre Mono y servidor: mono-apache-server.
- Reiniciamos el servicio de Apache para que recargue la configuración: sudo /etc/init.d/apache2 restart
- Activamos el módulo (a2enmod significa apache2 enable module): sudo a2enmod mod_mono
- Vemos qué versión de ASP.NET está activada (lo recomendable es que sea la 2 y no la 1). Para comprobarlo nos dirigimos a: /etc/apache2/mods-available y vemos el fichero mod_mono.conf, debería estar así (comentada con # la primera):
#Include /etc/mono-server/mono-server-hosts.conf
Include /etc/mono-server2/mono-server2-hosts.conf
En definitiva, una forma simple de tener un servidor ASP.NET corriendo en nuestro equipo Linux, con software libre y en sólo cuatro pasos. Para tenerlo perfectamente preparado para producción, deberéis de tener en cuenta algunos detalles más propios de Apache, pero la parte específica de Mono es ésta.
Ya me contaréis vuestras impresiones con esta tecnología.
Parece que la noticia ha gustado y lo han colgado de Menéame. Si queréis ya sabéis: menead.

Debido a mis circunstancias laborales, trabajo muy frecuentemente con la plataforma .NET en entornos Windows y la verdad es que creo que la tecnología .NET de Microsoft es de lo mejor que ha salido de Redmond en mucho tiempo. Nada que ver con las anteriores tecnologías que nada tenían que ver entre sí y que eran objetivamente malas tanto para el desarrollador como para el usuario final. Hablo de Visual Basic, ASP o Visual C++, junto con las Microsoft Foundation Classes y compañía.

Como consecuencia de esto que os cuento, desde siempre he tenido un interés especial por poder crear mis desarrollos utilizando esta tecnología en Linux. El Proyecto Mono proporciona prácticamente todas las posibilidades de la plataforma, con software libre y para todo tipo de entornos y sistemas (cierto es que está verde en algunas parte pero por lo general está muy depurado y tiene muchas posibilidades).
Bueno a lo que íbamos. Entre las posibilidades del Proyecto Mono también se encuentra la creación y ejecución de aplicaciones web. Para ello nos proporciona un servidor ligero escrito en C# (aunque a algunos ambos términos a la vez le resulten opuestos) llamado XSP y que para pequeñas aplicaciones de producción y para desarrollo es muy válido. Para aplicaciones de más tamaño, recomiendo utilizar Apache con mod_mono.
¿Cómo instalar y configurar XSP?
Siempre tendréis la opción de descargar del SVN la última versión estable, pero os recomiendo instalarlo mediante vuestro gestor de paquetería. El paquete en cuestión se llamará, dependiendo del repositorio, mono-xsp o mono-xsp2 (en caso de estar disponibles ambos, elegid el que soporta ASP.NET 2, es decir, mono-xsp2).
Una vez hecho esto poco más hay que hacer. Lo mejor es descargarse el paquete con los ejemplos, su nombre será algo así como: asp.net2-examples. Tras instalarlo ya podéis probar
- Antes de nada deberéis moveros al directorio de los ejemplos: /usr/share/asp.net2-demos/
- Arrancamos el servidor: xsp2
- Introducimos en nuestro navegador la siguiente dirección (puerto 8080 de nuestro equipo): http://localhost:8080.
- Veremos los ejemplos. A partir de ahí… ya tenéis camino libre para desarrollar aplicaciones ASP.NET con Linux.
Parece que el post ha aparecido en Menéame. Si os ha gustado ya sabéis, menearla.

A través del blog de Miguel de Icaza, me entero de que Mono 4.0 ya está disponible. El proyecto que trata de hacer compatible la plataforma .NET de Microsoft, tal como se especifica en las normativas ECMA, con los entornos libres, hace ya prácticamente 5 años y medio que vio la luz su primera versión estable, concretamente el 30 de Junio de 2004, y sigue muy buen paso.
Para instalarlo deberéis descargaros los fuentes del repositorio del proyecto y proceder de la siguiente forma:
$ mkdir $HOME/mono4
$ ./autogen.sh –prefix=$HOME/mono4 –with-profile4=yes
$ make && make install
$ mkdir $HOME/mono4
$ ./autogen.sh –prefix=$HOME/mono4 –with-profile4=yes
$ make && make install