Hola! En el post de hoy no vamos a hablar de código propiamente dicho, sino de una característica nueva que nos trae Visual Studio 2022 y que me resultó extremadamente útil: Eliminar de forma muy simple y segura todas las referencias a librerías u otros proyectos que no estén siendo utilizadas.

Todas las aplicaciones evolucionan, se expanden, crecen, mutan. Como parte de ese proceso evolutivo se suelen incluir nuevas funcionalidades, corregir defectos o refactorizar funcionalidades existentes. Y si, muchas veces agregamos nuevas referencias a librerías (vía NuGet) o a proyectos.

¿Y qué hay de malo con esto?

En principio no es tan grave realmente, a no alarmarse. Lo que suele suceder es que con el tiempo algunas referencias o librerías dejan de ser necesarias ya que no utilizamos las clases que nos proveen.

Visual Studio provee herramientas para limpiar el código cuando tenemos instrucciones del tipo using sin utilizar, como vemos en el siguiente ejemplo:

Eliminar usings no necesarios
Eliminar usings no necesarios

Ahora bien, si la librería FluentAssertions ya no es necesaria a nivel proyecto, ¿Podemos desinstalarla o eliminarla automáticamente? ¿Tenemos algún mecanismo para detectar librerías que no son necesarias?

Durante mucho tiempo la respuesta a estas preguntas fue No, o al menos no en forma simple y segura.

Visual Studio 2022

Por suerte para nosotros, Visual Studio 2022 introdujo esta funcionalidad de forma nativa, lo que nos permite eliminar todas las referencias a proyectos o librerías no utilizadas con tan solo unos clics. Veamos cómo hacerlo.

Tenemos un proyecto muy simple con 3 librerías instaladas y una referencia a otro proyecto.

Explorador de Soluciones

La única librería que estamos utilizando es Newtonsoft.Json, con lo cual tanto FluentAssertions, Serilog y el proyecto FacuTheRock.UnusedProject pueden ser eliminados.

Haciendo clic derecho sobre el proyecto que queremos limpiar, en este caso FacuTheRock, veremos disponible una nueva entrada de menú llamada Eliminar Referencias No Utilizadas (Remove Unused References).

Eliminar referencias no utilizadas

Visual Studio nos mostrará un cuadro de diálogo muy completo listando todas las librerías y proyectos que no están siendo utilizadas y que podemos eliminar de forma segura. Además, dentro del mismo cuadro de diálogo podremos elegir si queremos eliminar la referencia o mantenerla y aplicar en forma masiva la acción seleccionada para cada proyecto.

Eliminar referencias

Solo debemos seleccionar que acción tomar para cada item, aplicar los cambios y confirmar! Y eso es todo, con solo unos cuantos clics limpiamos nuestro proyecto de referencias a proyectos y librerías sin utilizar!

Visual Studio 2022 todavía se encuentra en modo de prueba (preview). Esto quiere decir que algunas funcionalidades pueden no funcionar correctamente en algunos escenarios.