Gestión de versiones de SDK con archivo global.json en .NET

Clase 18 de 21Curso de Fundamentos de .NET

Resumen

La gestión de las versiones de las herramientas de desarrollo es fundamental en cualquier proyecto de software, y en el mundo de .NET no es la excepción. El archivo global.json juega un papel crucial que ahora exploraremos con base en el proyecto que hemos manejado hasta ahora. Aprender a manejar correctamente este archivo te permitirá controlar las versiones del SDK de .NET que usas, asegurando así la compatibilidad y estabilidad en tus desarrollos.

¿Qué es el archivo global.json?

El global.json es un archivo de configuración que nos permite especificar qué versión del SDK de .NET se utilizará en nuestros proyectos. Funciona como un administrador de versiones, asegurando que todos los desarrolladores que trabajan en un proyecto usen la misma versión del SDK, independientemente de las que tengan instaladas localmente.

¿Cómo se crea el archivo global.json?

Para crear un archivo global.json, podemos hacerlo manualmente o a través de la línea de comandos. El uso del comando .NET new global.json genera automáticamente este archivo en nuestro proyecto. Veamos cuáles son los pasos para su creación:

  • Abrir la terminal o línea de comandos.
  • Navegar hasta la carpeta de nuestro proyecto.
  • Ejecutar .NET new global.json.

Cuando se crea, su contenido inicial establece por defecto la última versión del SDK que tengamos instalada. Esto es práctico, pero lo importante aquí es aprender a personalizar este archivo según las necesidades de nuestro proyecto.

¿Qué ventajas nos ofrece en nuestros proyectos?

El archivo global.json nos permite tener un control sobre la versión del SDK que estamos utilizando, evitando sorpresas o incompatibilidades por diferencias de versiones entre entornos de desarrollo. Además, al trabajar con equipos de desarrollo, garantiza que todos usen la misma versión, evitando el clásico problema "en mi máquina sí funciona".

¿Cuáles son las propiedades clave del archivo global.json?

Una propiedad importante es loadPreRelease, la cual se puede configurar como verdadera o falsa (true o false). Esto permite habilitar o deshabilitar el uso de versiones preliminares del SDK, las cuales podrían incluir errores al no ser versiones estables.

  • "sdk": { "version": "6.0.102" }: Esta línea establece la versión del SDK.
  • "loadPreRelease": false: Esta configuración evita que se utilicen versiones preliminares.

Cómo modificar la versión del SDK con global.json

Veamos cómo se cambiaría la versión del SDK utilizando el archivo global.json:

  1. Abrir el archivo global.json con un editor de texto.
  2. Buscar la propiedad "version" en la sección "sdk".
  3. Cambiar la versión por la que deseamos utilizar, por ejemplo "5.0.405".
  4. Guardar el archivo y volver a correr el comando .NET version para verificar el cambio.

¿Qué sucede si especificamos una versión incorrecta?

Si intentamos compilar nuestro proyecto con una versión del SDK incorrecta o incompatible especificada en nuestro archivo global.json, recibiremos un error. Por ejemplo, si un proyecto está configurado para utilizar .NET 6.0 y especificamos una versión 5.0 en global.json, la compilación fallará debido a la incompatibilidad de versiones.

La conexión con csproj

La compatibilidad de versiones no solo se gestiona con global.json sino también con el archivo del proyecto (csproj), que indica la versión exacta necesaria del framework para compilar el proyecto. Por ejemplo, si se necesita .NET 6.0, se especificará en este archivo y deberá coincidir con la versión definida en global.json.

En resumen, con un conocimiento adecuado del archivo global.json, podemos asegurar la coherencia y la correcta gestión de las versiones de nuestro entorno de desarrollo .NET, facilitando así el trabajo colaborativo y manteniendo la consistencia en nuestros proyectos. Continuemos aprendiendo para sacar el máximo provecho a las herramientas que .NET nos ofrece.