¿Alguien sabe una manera de descubrir las vistas no utilizadas en el proyecto? con Resharper o sin él. alguna idea de que es más fácil que escribir todos los puntos de vista y pasar por todos los controladores y comprobar manualmente es apreciada :) Gracias ¿Existe una forma automática de encontrar vistas sin usar en MVC?
Respuesta
Con ReSharper puede haga clic con vistas Razor y Encuentra Usos, pero tendría que pasar por manualmente y repetir para todas las vistas (a menos que se puede enganchar en la API de ReSharper y automatizarlo).
El problema con vistas supuesto es que están enlazadas en tiempo sobre la base de una convención definida en el motor de vista, en el caso de la opción predeterminada RazorViewEngine
busca una vista correspondiente en la ~/Views/{Controller}/{Action}
y ~/Views/Shared/{Action}
. Por lo tanto, es difícil distinguir en el diseño o el tiempo de compilación qué vistas, parciales y plantillas nunca se utilizan.
Puede acercarse desde el ángulo opuesto: encuentre qué vistas se están utilizando. Luego, compare esta lista con todas las vistas del proyecto, evalúe los resultados (manualmente y con ReSharper Find Usages) y confirme que realmente no se están utilizando antes de eliminarlos finalmente.
Para encontrar las vistas utilizadas, puede personalizar RazorViewEngine para que se registre cada vez que carga una vista con CreateView
y FindPartialView
, p. Ej.
public class LoggingRazorViewEngine : RazorViewEngine
{
protected override IView CreateView(
ControllerContext controllerContext,
string viewPath,
string masterPath)
{
LogManager.GetLogger("").Debug(viewPath);
return base.CreateView(controllerContext, viewPath, masterPath);
}
}
configurarlo en global.asax.cs
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new LoggingRazorViewEngine());
continuación, extraiga una lista de rutas de vista únicos registrados con el que comparar puntos de vista de su proyecto. Se necesita un poco de esfuerzo, pero posiblemente valga la pena si tienes muchas vistas sin usar que complican el proyecto.
Se puede cambiar el nombre de una de las vistas sospechosas y compilar ... si algún controlador que está utilizando obtendrá errores :)
No conoce ninguna característica "incorporada" para buscar vistas no utilizadas.
- 1. Uso de vistas GSP en Spring MVC simple sin Grails
- 2. Spring MVC Etiquetas de formulario: ¿Existe una forma estándar de agregar el ítem "Sin selección"?
- 3. Programaticamente obtener una lista de Vistas MVC?
- 4. Seguridad en MVC Vistas
- 5. ¿Utiliza espacios de nombres predeterminados en .NET MVC para vistas sin usar importación?
- 6. ¿Debo usar Url.Content() o ResolveUrl() en mis vistas de MVC?
- 7. Para usar vistas o no usar vistas
- 8. Usar vistas en SQL
- 9. Vistas en conjuntos separados en ASP.NET MVC
- 10. Usar la pantalla GNU de forma totalmente transparente y automática
- 11. ¿cuándo debería usar vistas parciales en asp.net mvc?
- 12. Vistas simples de ASP.NET MVC sin escribir un controlador
- 13. ASP.NET MVC Globalización de vistas
- 14. Cómo implementar el patrón MVC sin mantener Vistas activas
- 15. Vistas de diseño amigable en Asp.Net MVC
- 16. MVC 3 sin usar Navaja?
- 17. iOS: cómo crear vistas de forma programática utilizando XIB, pero sin usar View Controller
- 18. Compilar Vistas en ASP.NET MVC
- 19. actualización automática en ASP.NET MVC
- 20. Compartir vistas parciales ASP.NET MVC entre proyectos
- 21. ASP.NET MVC - Use Reflection para encontrar si existe un controlador
- 22. ¿Existe una API para cancelar una suscripción de renovación automática?
- 23. Zend Framework 1.9: Cómo utilizar la carga automática sin MVC
- 24. ¿Existe una aplicación de referencia/ejemplo de ASP.NET MVC oficial?
- 25. ASP.NET MVC una ruta, dos vistas diferentes
- 26. ¿Es posible construir una aplicación ASP MVC sin cadenas mágicas en las vistas?
- 27. Tengo javax.inject en mi pom.xml, ¿lo utilizará de forma automática?
- 28. ¿Existe alguna forma mejor de encontrar anagramas utilizando SQL?
- 29. Generar URL completa ASP.NET MVC Razor Vistas
- 30. ¿Existe alguna forma práctica de usar números naturales en Haskell?
El único problema que probablemente surja en tiempo de compilación es si cambia el nombre fuera de Visual Studio y todavía hay una referencia al archivo por el nombre anterior en CSProj; de lo contrario, compilará sin ninguna vista coincidente bien . ReSharper debería mostrar un error si lo tiene instalado, pero tuve que abrir el controlador para mostrar el error. También vale la pena señalar que incluso esto no es infalible si hay otra vista con nombre coincidente en la ubicación compartida o en el directorio de vistas de raíz de la aplicación si la vista que está eliminando se encuentra en un área. – pwdst