La evolución del SDK de .NET ha ido en aceleración desde aquel lejano día en donde se presentó la nueva versión Core. Ya hemos dejado atrás la versión 2.x, y el mínimo aceptable es la 3.x, con preferencia a la 5.x.
Sin embargo, con la llegada de la flamante versión 6.x, la cosa se ha complicado para todos aquellos que creamos proyectos a partir de una plantilla del propio SDK. Porque han cambiado las propias plantillas y el esqueleto inicial del proyecto es diferente a las versiones anteriores.
Por lo cual no es raro que vayas siguiendo un tutorial, o un código de StackOverFlow, y te veas bloqueado desde el momento en que lanzas un «dotnet new webapi –output .» y lo que obtienes no se parece nada a lo esperado.
El fichero global.json
Por suerte la solución no es complicada.
En aquellos proyectos en donde me veo obligado a utilizar una versión anterior del SDK, utilizo un fichero global.json, que se puede colocar en cualquier lugar de la jerarquía de ficheros, y que va a forzar la versión del SDK a utilizar dentro de esa carpeta.
Antes de crear el fichero, y definir la versión con la que quiero trabajar, primero debo saber cuáles son las que tengo instaladas en mi máquina.
dotnet new --list
Una vez que obtengo el listado, puedo crear el fichero global.json, e introducir la siguiente definición:
{ "sdk": { "version": "5.0.402" } }
Y listo. Si vuelvo a lanzar «dotnet new webapi –output .» ahora sí que va a utilizar la plantilla adecuada (en este caso incluye el fichero startup.cs)
Espero que sea de utilidad