Instalar C# (Mono Project) en Linux Ubuntu

C# y todas las utilidades del framework .NET ya pueden ser usadas por los usuarios de Linux que ejecutan Ubuntu, Debian, Raspbian, etcétera.

Para tener el compilador de C# en Linux Ubuntu hay que instalar el paquete Mono, y eso es justamente lo que hoy veremos.

También vamos a compilar nuestro primer programa de C# en Linux usando csc, y vamos a ejecutar el archivo exe con mono.

Este tutorial de instalación de Mono Project funciona en Ubuntu 14, 16 y 18. A lo largo de este post veremos cómo se instala en Ubuntu 16.04 pero proporcionaré guías para instalarlo en las otras versiones.

¿Quieres compilar C# en Windows sin instalar Visual Studio? este es tu post.

Agregar el repositorio de Mono en Linux Ubuntu

Dependiendo de nuestra versión vamos a agregar distintos repositorios. Tranquilo, que en esta página está la guía para cada versión:

1 - Agregar repositorio de Mono a Linux Ubuntu en cualquier versión

1 – Agregar repositorio de Mono a Linux Ubuntu en cualquier versión

Si tu versión no es la 16 entonces entra a la página y escribe los comandos, o pégalos (hazlo uno a la vez).

Agregar repositorio a Ubuntu 16

Como en este caso será para Ubuntu 16 primero debemos escribir:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

2 - Importar clave (c# en Linux Ubuntu)

2 – Importar clave (c# en Linux Ubuntu)

Eso agregará la clave. Ahora escribimos:

sudo apt install apt-transport-https ca-certificates

3 - Instalar paquetes de apt-transport-https

3 – Instalar paquetes de apt-transport-https

Eso es para instalar el paquete que permite acceder y descargar paquetes a través de HTTPS. El paquete de ca-certificates es para que se compruebe la autenticidad de las conexiones SSL.

Luego agregamos una dirección de repositorios:

echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

4 - Agregar dirección de repositorio

4 – Agregar dirección de repositorio

Finalmente actualizamos los repositorios:

sudo apt-get update

5 - Actualizar lista de repositorios

5 – Actualizar lista de repositorios

Con eso ya podemos continuar a la instalación de Mono en Linux Ubuntu.

Instalar Mono en Ubuntu

Ya agregamos el repositorio, ahora simplemente vamos a instalar. Ahora no importa la versión de Ubuntu, pues solo cambia cuando se agrega el repositorio.

Para instalar mono-devel escribimos:

sudo apt install mono-devel -y

La opción -y es para que no nos pida confirmación al instalar.

6 - Instalar mono-devel en Linux Ubuntu (compilador de C#)

6 – Instalar mono-devel en Linux Ubuntu (compilador de C#)

Hay que esperar un poco, todo depende de la potencia de la computadora. Al finalizar se debe ver algo como lo de la imagen:

7 - Instalación de mono en Linux Ubuntu finalizada

7 – Instalación de mono en Linux Ubuntu finalizada

Con eso hemos terminado la instalación del compilador de C# (csc) en Linux Ubuntu. Vamos a probarlo.

Hola mundo en C# desde Linux Ubuntu con Mono

Ahora tenemos acceso a csc, el compilador de C# y a mono, el encargado de ejecutar el código compilado.

Para probar que el compilador realmente compila vamos a crear un archivo con extensión cs (c sharp) y lo vamos a compilar para más tarde ejecutarlo.

Puedes usar tu editor favorito, yo usaré vim. El contenido debe ser el siguiente:

Como usaré vim escribo:

vim ~/hola_mundo.cs

Dentro presiono la tecla I (letra I, o sea la letra i, o sea con la que se escribe “indiferencia”) para entrar al modo INSERT, pego el código, presiono ESC, luego :wq, Enter y listo.

La siguiente imagen comprueba que el archivo está dentro de ~:

8 - Comprobar contenido del archivo de Hola mundo en C# desde Linux Ubuntu

8 – Comprobar contenido del archivo de Hola mundo en C# desde Linux Ubuntu

Para compilar cambiamos al directorio en donde está el archivo y ejecutamos:

csc hola_mundo.cs

Eso va a generar un archivo exe que es el ejecutable. Para ejecutarlo escribimos:

mono hola_mundo.exe

Nuestro programa en C# ahora debería ejecutarse sin problema.

9 - Compilar y ejecutar programa de C# en Linux Ubuntu con Mono

9 – Compilar y ejecutar programa de C# en Linux Ubuntu con Mono

¡Felicidades! has ejecutado tu primer programa en C# desde Linux Ubuntu.

Otros paquetes aparte de mono-devel

Con los repositorios que agregamos podemos instalar otros paquetes del mismo entorno.  Para instalar simplemente ejecutamos:

sudo apt install paquete

Veamos lo que tenemos:

  • mono-complete: instalar todo, resuelve problemas como “assembly not found”
  • mono-dbg: el depurador de código
  • referenceassemblies-pcl: soportar compilación PCL, resuelve problemas como “Framework not installed: .NETPortable”
  • ca-certificates-mono: si hay problemas al hacer conexiones HTTPS hay que instalar este paquete
  • mono-xsp4: ejecutar aplicaciones de ASP.NET

Instala lo que requieras y ahora podrás tener ASP y C# con .NET en Linux Ubuntu.

Con eso concluimos; puedes ver este link para más tutoriales sobre C#.