c# - mega - resharper visual studio code
Resharper- Encuentra todas las clases no utilizadas (2)
La solución de @ulrichc suena perfecta y funciona bien para proyectos pequeños a medianos en los que no está usando ningún marco de Inyección de Dependencia como Castle o Ninject, pero ¿qué sucede si usa un contenedor DI [Castle por ejemplo] y tiene algo como lo siguiente?
public class IoC
{
private WindsorContainer _container;
private IoC()
{
_container = new WindsorContainer();
}
public static void RegisterFromAssembly(Assembly assembly, string classEndsWith, LifeTime lifeTime)
{
var lifestyle = ConvertLifeStyleType(lifeTime);
_container.Register(AllTypes.FromAssembly(assembly)
.Where(type => type.Name.EndsWith(classEndsWith))
.WithService.AllInterfaces()
.Configure(c => c.LifeStyle.Is(lifestyle))
.WithService.FirstInterface());
}
}
Como puede ver, RegisterFromAssembly revisa todos los tipos dentro del ensamblaje y ciegamente [en función del parámetro de métodos] los agrega al contenedor en tiempo de ejecución.
Necesitará algo como el complemento del Agente Mulder que proporciona navegación para los tipos registrados o resueltos dentro de sus contenedores. De nuevo, esto podría funcionar visualmente [el tiempo de diseño, posiblemente], pero no estarías seguro a menos que cada vez que elimines la clase no utilizada ejecutes todas las pruebas dentro de tu aplicación [todas las capas posibles] para estar 80% seguro de que estás a salvo. Moraleja de la historia: una clase puede sonar inutilizada para Resharper, pero podría resucitarse cuando use Dependency Injection.
Sé cómo encontrar referencias no utilizadas de un solo archivo haciendo clic derecho en el archivo y seleccionando la opción "Buscar usos". ¿Hay alguna manera de que pueda ver u obtener la lista de todas las clases o archivos no utilizados en mi proyecto?
Primero habilite "Analizar errores en la solución" (haga clic derecho en el ícono de Resharper en la barra de estado).
A continuación, haga clic con el botón derecho en el nodo de solución y seleccione "Buscar problemas de código". En la ventana de la herramienta "Resultados de la inspección" puede agrupar por "Tipo de problema" y buscar "Tipo o tipo de miembro nunca se usa" para obtener todas las clases no utilizadas (y muchos más símbolos no utilizados).
Una segunda opción (después de habilitar "Analizar errores en solución") es ir a cualquier clase no utilizada, presionar Alt + Intro, seleccionar "Opciones para" Escriba o escriba miembro ... "inspección" | Buscar todos los problemas de código de este tipo | Solución completa