El pasado Jueves día 12, y tras muchos meses utilizando el nombre "K", el equipo de la plataforma .NET en Microsoft decidió que había que cambiarles el nombre (puedes ver en YouTube el vídeo entero con el anuncio). A partir de ahora se pasan a llamar herramientas "DNX", pero funcionan exactamente igual. A continuación veremos los cambios con detalle.
DNX viene de "Dot Net" (.Net en inglés) y la "X" de "eXtensibilidad" o de "Multiplataforma" (X-Platfom o Cross-Platform en inglés) o, como ellos dicen en el vídeo, "simplemente porque es una letra chula" (un criterio muy técnico, sí señor).
Los motivos aducidos por el equipo, a través de Damian Edwards, fueron que es más fácil buscar información en Internet por "DNX" que por "K" (tienen toda la razón) y además -suponemos que medio de broma- que hace un buen hashtag para Twitter y que es fácil de teclear a la hora de lanzar los comandos.
Bien, los comandos cambian de la siguiente manera que recogemos en la siguiente tabla:
Nombre anterior |
Nombre nuevo |
Comentarios |
k.cmd/klr.exe |
dnx.exe |
Se pasa de dos archivos ejecutables a uno solo, pero se utiliza de la misma manera:
dnx.exe [opciones] [comando] [argumentos]
Las opciones por el momento son solamente --help o -h para sacar la ayuda.
Los comandos posibles son por ahora: run para ejecutar el punto de entrada de la aplicación, o el nombre de un comando propio de la aplicación para ejecutarlo (ver más adelante). |
KRE/XRE |
DNX |
Es el nombre que se le da ahora al entorno de ejecución de .NET. Se refiere a los paquetes NuGet que utilicemos según el sistema operativo y la versión del CLR. |
kvm.ps1/kvm.sh |
dnvm.ps1/dnvm.sh |
El gestor de versiones de .NET (DNX Version Manager). Es equivalente al anterior comando kvm y permite consultar y gestionar las versiones de la plataforma que tenemos en el equipo, y cuál está en uso. |
kpm |
nuget |
El gestor de paquetes "K" ahora se funde con NuGet y se utilizará NuGet para todo. Sigue siendo válido todo pero se utiliza NuGet en lugar de kpm.exe. |
Además de este cambio de nombre, han modificado también algunos otros nombres como consecuencia de lo anterior.
Nuevas rutas
Las siguientes rutas en el sistema de archivos han cambiado de nombre:
Nombre anterior |
Nombre nuevo |
Comentarios |
%userprofile%\.k |
%userprofile%\.dnx |
La carpeta en la que se almacenan los ensamblados de .NET (ahora DNX) y también los paquetes NuGet. Contiene a su vez a las subcarpetas:
/packages: las dependencias de los paquetes NuGet que se utilicen. /runtimes: las diferentes versiones de los módulos DNX de la plataforma, en subcarpetas según sistema operativo, versión, etc... /tools: herramientas relacionadas, como NuGet, comandos para paquetes, etc... |
aspnet50/aspnetcore50 |
dnx452/dnx46/dnxcore50 |
Los "alias" (en jerga DNX se llaman TFMs o Target Framework Monikers) de las diferentes versiones de la plataforma, y en concreto la versión actual (4.5.2), la próxima versión que saldrá con Visual Studio 2015 (la 4.6) y la plataforma "Core" multiplataforma que saldrá con la versión 5.0. (otra "grandísima" idea del equipo de .NET).
Así, por ejemplo, la versión para Core Framework de una biblioteca saldrá en NuGet en la ruta: /libs/dnxcore50/mibiblioteca.dll, y lo sabremos por ese "alias" que es el que aparece en la ruta. |
kre-<clr>-<os>-<arch>.<version> |
dnx-<clr>-<os>-<arch>.<version> |
Los paquetes Nuget en que se distribuyen los módulos DNX. Los que va entre <> se refiere a la versión y tipo del CLR, el sistema operativo y la arquitectura (32 o 64 bits). |
$env:KRE_* |
$env:DNX_* |
Las variables de entorno que se establecen automáticamente para apuntar a ciertas rutas de interés para la ejecución de DNX, por ejemplo:DNX_HOME para la ubicación del runtime. |
kproj |
xproj |
La extensión de los proyectos DNX en Visual Studio. |
Finalmente le han cambiado ligeramente los nombres a las plantillas de proyecto de Visual Studio 2015 que ahora pasan a ser las siguientes:
Nombre plantilla |
Comentarios |
ASP.NET 5 Application |
La plantilla para crear cualquier proyecto de desarrollo Web basado en ASP.NET 5 en todas sus variantes (MVC, Servicios, etc...) |
Command Line (Package) |
Crean proyectos de consola (o línea de comandos) y paquetes NuGet. Se ejecutan con F5 desde Visual Studio o con dnx.exe <comando> desde línea de comandos. |
Class Library (Package) |
Una biblioteca que sirve para crear un paquete NuGet multiplataforma. Por defecto el "alias" o TFM que se usa será "core50" (Ver tabla anterior). |
Estos cambios no son profundos y todo lo que supieras respecto a los comandos "K" es igualmente válido, por lo que se trata poco más que de una molestia típica de cuando utilizamos productos inacabados como es el que nos ocupa.
Si quieres conocer las principales novedades que nos trae ASP.NET vNext y saber en qué te va a afectar de manera clara, rigurosa y directa, échale un vistazo a este video-curso en nuestro catálogo.