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](https://parzibyte.me/blog/wp-content/uploads/2019/04/1-Agregar-repositorio-de-Mono-a-Linux-Ubuntu-en-cualquier-versión.png)
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)](https://parzibyte.me/blog/wp-content/uploads/2019/04/2-Importar-clave-c-en-Linux-Ubuntu.png)
Eso agregará la clave. Ahora escribimos:
sudo apt install apt-transport-https ca-certificates
![3 - Instalar paquetes de apt-transport-https](https://parzibyte.me/blog/wp-content/uploads/2019/04/3-Instalar-paquetes-de-apt-transport-https.png)
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](https://parzibyte.me/blog/wp-content/uploads/2019/04/4-Agregar-dirección-de-repositorio.png)
Finalmente actualizamos los repositorios:
sudo apt-get update
![5 - Actualizar lista de repositorios](https://parzibyte.me/blog/wp-content/uploads/2019/04/5-Actualizar-lista-de-repositorios.png)
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#)](https://parzibyte.me/blog/wp-content/uploads/2019/04/6-Instalar-mono-devel-en-Linux-Ubuntu-compilador-de-C.png)
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](https://parzibyte.me/blog/wp-content/uploads/2019/04/7-Instalación-de-mono-en-Linux-Ubuntu-finalizada.png)
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:
using System;
class Principal {
public static void Main (string[] args) {
Console.WriteLine ("Programando en C# en Linux Ubuntu");
Console.WriteLine ("Visita: parzibyte.me");
}
}
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](https://parzibyte.me/blog/wp-content/uploads/2019/04/8-Comprobar-contenido-del-archivo-de-Hola-mundo-en-C-desde-Linux-Ubuntu.png)
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](https://parzibyte.me/blog/wp-content/uploads/2019/04/9-Compilar-y-ejecutar-programa-de-C-en-Linux-Ubuntu-con-Mono.png)
¡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#.
Excelente, muchas gracias por el tutorial.