Comenzando con ASP.NET Core en Linux

By | 13 Mayo, 2017

ASP.Net Core es la apuesta de Microsoft que marca un antes y un después en sus tecnologías para el desarrollo web. Se trata de un producto nuevo escrito desde cero, multiplataforma, de código abierto y que se adecua a las necesidades tecnológicas actuales.

En esta entrada te voy a mostrar paso a paso como instalar ASP.Net Core en Linux y desarrollaremos el clásico “Hola Mundo”. He omitido la instalación y el desarrollo del ejemplo sobre Windows ya que es algo muy sencillo y lo podrías replicar sin dificultad. Además, desde mi punto de vista , es mas emocionante ver una tecnología de Microsoft funcionando sobre sistemas operativos No Windows.

Otro motivo por el cual he decidido hacerlo sobre Linux, es animar a aquellos desarrolladores que vienen de otras plataformas o lenguajes a probar ASP.Net Core, por lo que en una próxima entrada desarrollaremos este mismo ejemplo sobre Mac Os X.

Instalación de Visual Studio Code

En este ejemplo utilizaré la distribución Linux Ubuntu 16.04, sin embargo los pasos son muy similares en cualquiera de las distribuciones soportadas.Utilizaremos Visual Studio Code, un editor de código también multiplataforma de la propia Microsoft. Para ello, ingresa a la dirección https://code.visualstudio.com/

Tendrás disponible un paquete .deb o .rpm según la distribución que utilices. Como en este caso estoy utilizando Ubuntu 16.04 descargaré el paquete .deb.

Una vez que lo tengas en tu equipo ejecútalo e instálalo a través del gestor de software de Ubuntu que se iniciará de manera predeterminada. Recuerda que es probable que se te pida la contraseña para continuar con la instalación. Con estos sencillos pasos ya debes contar con Visual Studio Code en tu Ubuntu Linux. ¿Fácil verdad?.

Ya que inicies Visual Studio Code dirígete al apartado de extensiones que se encuentra en la parte derecha del editor e instala la extensión para C#.

Instalación de .Net Core

Los siguiente es instalar .Net Core en el equipo, para ello dirígete a la dirección https://www.microsoft.com/net/core , busca el apartado para Linux y a su vez selecciona tu distribución.

Dependiendo de la distribución que utilices será la serie de pasos que deberás seguir para instalar .Net Core, aunque de manera general consiste en establecer el repositorio en donde se aloja el paquete que deseamos instalar y después obtenerlo a través del gestor que tengamos instalado en el sistema.

Para Ubuntu 16.04 actualiza la lista de repositorios a través del siguiente comando:

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

Establecemos la gestión de las claves de los paquetes

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893

Y actualizamos con

sudo apt-get update

Con esto podremos instalar .Net Core ejecutando el comando install por medio de apt:

sudo apt-get install dotnet-dev-1.0.4

Recuerda que estos comandos pueden cambiar, dependiendo de tu versión del sistema operativo y la versión de .Net Core que se encuentre disponible al momento de leer esta entrada. Por lo que te recomiendo que de cualquier manera revises la dirección https://www.microsoft.com/net/core para cerciorarte.

Primer proyecto con ASP.Net Core en Linux

Como no podía ser de otra manera, desarrollaremos el clásico hola mundo con ASP.Net Core en Ubuntu Linux. Lo primero es crear la carpeta de nuestro proyecto en alguna ubicación. En mi caso la he creado en la carpeta de documentos y la he nombrado “holamundoapp”.

Dirígete a Visual Studio Code y abre la carpeta del proyecto que hemos creado, a través de la herramienta de Terminal Integrada, que se encuentra en se encuentra en el menú View-> Integrated Terminal, crearemos la estructura de la aplicación. Como probablemente estarás suponiendo, dicha herramienta te permitirá utilizar la linea de comandos desde Visual Studio Code posicionandote en la carpeta de tu proyecto. Una vez abierta la terminal teclea el comando dotnet new mvc, el cual creará la estructura base del proyecto. Enseguida teclea dotnet new restore para agregar los paquetes requeridos.

Para poner en marcha la aplicación, teclea el comando dotnet run. Se te mostrará la dirección y el puerto sobre el cual estará corriendo. Para detenerla solo tendrás que teclear Ctrl+C.


Te invito a que navegues un poco sobre el sitio y le des un vistazo a su código. Identifica la carpeta de controladores, vistas y los archivos que se encuentran en la raíz. No importa si no tienes claro para que funcionan, lo importe es que reconozcas e identifiques de alguna manera la estructura que se te ha generado. Conforme te adentres al desarrollo con esta tecnología comprenderás de la utilidad de cada uno de los archivos.

A estas alturas ya muchos sabrán que ASP.Net Core hace uso del patrón MVC , para ampliar un poco mas este ejemplo y no quedarnos sin escribir un poco de código, agregaremos un nuevo controlador al proyecto y visualizaremos los cambios en el navegador.

En la carpeta Controller crea el archivo “HolaController.cs” e ingresa el siguiente código:

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace holamundoapp.Controllers
{

    public class HolaController
    {

        public string Index()
        {
            return "Hola ASP.Net Core ";
        }   

        public string Saludar(string nombre)
        {
            return String.Format("Hola {0}", nombre);
        }

    }
}

Dentro del controlador tenemos el método “Index” y el método “Saludar”, el cual recibe el parámetro nombre para retornar un saludo por el navegador. Guarda, ejecuta de nuevo la aplicación para visualizar los cambios.

Para acceder a la ejecución del método “Index”, ingresa a la URL en el formato URL/controllador/ . No es necesario especificar el nombre del método ya que se considera el método principal y se ejecutará de manera predeterminada.

Para acceder al método “Saludar”, ingresa la URL en el formato URL/controllador/metodo?parametro=valor :

Si lo sé, no es el ejemplo mas emocionante ni el mas completo, pero en este punto hemos logrado nuestro primer objetivo: ejecutar nuestra primera aplicación ASP.Net Core sobre Linux. No es una promesa, pero tengo la intención de continuar escribiendo mas artículos acerca de ASP.Net Core de básicos a avanzados, así que mantente al tanto.

Suscribete al boletín para recibir contenido exclusivo y las actualizaciones de la página.

¿Alguna vez imaginaste que una tecnología de desarrollo nacida de la misma Microsoft pudiera ser ejecuta en sistemas operativos como Windows o Mac Os X?, ¿piensas darle una oportunidad a ASP.Net Core en tus proyectos?. Déjame tus comentarios.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *