Manuelinux

I don't want to grow up

Programando con .net en linux(I)

Como lo había prometido escribiré unas entradas en mi blog acerca de la programación con .net en nuestros queridos sistemas Linux. Así por cosas del destino me vi un día programando en .net en la empresa para la que trabajo, y me dio por retomar la programación a través del proyecto Mono. Algunos amigos me han pedido que publique parte de mi experiencia y hoy inicio.

En Debian esta disponible MonoDevelop el IDE de desarrollo pero no esta disponible Mono que en su versión completa incluye la implementación libre del .NET Framework y las herramientas para compilación en linea de comandos.

Es un tanto difícil resolver las dependencias de Mono por lo que sugiero hacer un truco que consiste en instalar MonoDevelop que es una herramienta que usaremos un poco mas adelante en estas entregas.

#apt-get install monodevelop bison

esto instalara bison, la unica dependencia no cumplida y el IDE de desarrollo.

Ahora obtendremos la versión mas reciente de los sources de Mono, en este caso la versión 2.2. Puede que en los repositorios de ubuntu exista el paquete pero yo sugiero obtener los sources para tener la versión mas actualizada. Aviso. Los windows users pueden seguirnos también y descargar mono para windows desde la pagina de descargas del proyecto mono.

Una vez descargada descomprimimos y nos movemos al directorio

#cd mono-2.2

#./configure

#make

#make install

El proceso de compilación será largo, dependiendo de las características de tu computadora podrías durar incluso más de una hora, así que mientras hay que armarse de paciencia y estudiar un poco acerca de C# que es el lenguaje que utilizaremos.

Una vez concluida la instalación procedamos a crear nuestro primer programa, en tu editor de textos favorito escribe el siguiente código.(en este punto no se vale usar MonoDevelop, hazlo en un editor sencillo como leafpad, nano, vi, etc. Te recomiendo no copypastear sino escribir a mano para que vayas conociendo el lenguaje)

using System;

public class mundocruel

{

public static void Main()

{

Console.WriteLine(“El mundo es cruel”);

}

}

Explicando un poco la primer linea using System; indica que se usara el namespace System, después viene la declaración de la clase principal del programa el método Main que solo imprime un mensaje en pantalla usando Console.WriteLine("");

guardamos el archivo como nombre.cs(cambia nombre por el nombre que quieras darle) y en una terminal compilaremos escribiendo:

$mcs mundocruel.cs

y ejecutaremos con:

$mono mundocruel.exe

con lo que obtendremos el siguiente resultado:

Con esto doy por terminada la primera sesión de .NET con Mono, espero sus comentarios, sugerencias o quejas con mucho gusto y espero la información les sea útil.

Nota: Toma los .exe y ejecutalos en una maquina windows con el .net framework 2.0 o posterior y sorprendete

Temas relacionados

{ c, Mono, MonoDevelop, .NET }

Comentarios

domingo 15 de febrero, 2009 @ 14:36

Rafael Bucio

Perfecto

domingo 15 de febrero, 2009 @ 14:49

KLil0*

Esta padre a probar

domingo 15 de febrero, 2009 @ 15:48

yobageM

Qué pinche “Hello World” más emo haha!

martes 17 de febrero, 2009 @ 20:33

Hermano Nemesis

Que bueno que programes en .NET hasta que te veo hacer algo bueno, ami me sorprendio la portabilidad de .NET gracias a mono, que soporta casi por completo al framework 2.0 al menos mis proyectos corren al 100% sobre apache.

Espero que el siguiente post de “hola Mundo” en web y mi liga.. jajajajaja

Chale..

miércoles 18 de febrero, 2009 @ 12:17

spike

Me declaro el primer seguidor paso a paso de este tutorial… y por el momento descargue y compile y realice el programa según tus lecciones… y va bien lo estoy corriendo en debian lenny sigo en espera de los demás capítulos…

miércoles 18 de febrero, 2009 @ 12:29

spike

aki molestando de nuevo, trate de abriel el monodevelop para verlo y no abre nada… lo levante desde la consola para ver que error me manda y me aparese lo siguiente:

[11:26:24]spike@debian:~$ monodevelop

WARNING: Cannot find Mozilla directory containing libgtkembedmoz.so. Some Addins may not be able to function. Please set MOZILLA_FIVE_HOME to your Mozilla directory.

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

Waiting for Write add-in database lock

y asi sigue con este mensaje y no carga nada, lo tengo con ctrl+c y se detiene pero se cancela la carga

que sera…?

sábado 21 de abril, 2012 @ 19:13

gaos

Se que es viejo el post, pero no esta demás poner lo que me paso. Yo tenia un problema en debian 6 al intentar correr el programita, no funcionaba porque no encontraba la orden mcs la instale lo pude hacer funcionar instalando mono-mcs y listo ya funcina correctamente y con respecto a la pregunta anterior a la mejor esta la respuesta en esta página http://ubuntuforums.org/showthread.php?t=1576482&page=2