Qualcuno sa come trovare le viste inutilizzate nel progetto? con Resharper o senza di esso. qualsiasi idea che è più facile che scrivere giù tutti i punti di vista e passare attraverso tutti i controller e controllare manualmente è apprezzato :) GrazieEsiste un modo automatico per trovare viste inutilizzate in MVC?
risposta
Con ReSharper è possibile fare clic destro una vista Razor e Trova Usi, ma ci si deve passare attraverso manualmente e ripetere per tutte le viste (a meno che non si può collegare in API ReSharper e automatizzare esso).
Il problema di vista, naturalmente, è che sono in ritardo con associazione sulla base di una convenzione definita nel motore di visualizzazione, in caso di default RazorViewEngine
sembra per un corrispondente vista in ~/Views/{Controller}/{Action}
e ~/Views/Shared/{Action}
. Quindi è difficile dire al momento della progettazione o della compilazione quali viste, parziali e modelli non vengano mai usati.
È possibile apprenderlo dall'angolo opposto: individuare le viste utilizzate. Quindi diff questo elenco rispetto a tutte le viste nel progetto, valuta i risultati (manualmente e con ReSharper Trova usi) e verifica che non vengano effettivamente utilizzati prima di rimuoverli definitivamente.
Per trovare le visualizzazioni in uso è possibile personalizzare il RazorViewEngine da registrare ogni volta che carica una vista con CreateView
e FindPartialView
, ad es.
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 in global.asax.cs
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new LoggingRazorViewEngine());
quindi estrarre un elenco di percorsi vista unica registrati da confrontare con vista del vostro progetto. Un po 'di impegno, ma forse vale la pena se hai molte viste inutilizzate che ingombrano il progetto.
Si potrebbe rinominare una delle viste sospetti e compilare ... se alcuni controller è Con esso si otterrà errori :)
Non so di alcuna funzione "integrata" per cercare le viste inutilizzate.
- 1. iPhone: esiste un modo automatico per identificare le risorse inutilizzate?
- 2. Ricerca di variabili inutilizzate nelle viste CakePHP
- 3. C'è un modo per determinare le funzioni inutilizzate in Xcode4?
- 4. UICollectionView: esiste un modo per ricaricare solo le viste supplementari?
- 5. ASP.NET MVC - Usa Reflection per trovare se esiste un controller
- 6. Esiste un modo automatico per documentare i servizi di Nancy?
- 7. ASP.NET MVC: esiste un modo per simulare un ViewState?
- 8. C'è un modo per rendere viste parziali in WebForms?
- 9. Esiste un modo per ignorare un'azione di MVC Controller?
- 10. JPA sinistra si uniscono per trovare le voci inutilizzate
- 11. C'è un modo per avere viste diverse in un NSCollectionView?
- 12. Esiste un modo per impedire la formattazione di Visual # 2010 del codice C# nelle viste ASP.NET MVC?
- 13. Esiste un incremento automatico in sqlite?
- 14. Esiste un collegamento completo automatico in VBA?
- 15. Esiste un pacchetto consigliato per l'apprendimento automatico in Python?
- 16. Come rimuovere automaticamente le stringhe gettext inutilizzate?
- 17. MVC: stesso URL, più viste
- 18. Esiste un correttore ortografico per ASP.NET MVC?
- 19. Come implementare un RazorViewEngine personalizzato per trovare viste in posizioni non standard?
- 20. Esiste un modo per controllare le viste all'interno dell'intestazione di NavigationView?
- 21. Consulenza SEO per MVC 3 per routing e viste parziali
- 22. Rota risorse locali: precompilato: esiste un modo automatico per verificare le modifiche?
- 23. Esiste un modo semplice per randomizzare un elenco in VB.NET?
- 24. Esiste un modo per "riscaldare" un processo?
- 25. Come rilevare proprietà inutilizzate in primavera
- 26. Esiste un operatore nameof() per i controller MVC in C#?
- 27. Il modo migliore per trovare un lavoro ovunque in Sidekiq
- 28. Griglia KENDOUI in MVC: esiste un modo per nascondere i filtri su alcune colonne?
- 29. Esiste un modo standard per l'aggiornamento automatico delle app di Winforms .NET?
- 30. Esiste un modo automatico per implementare le chiamate al metodo virtuale post-costruttore e pre-distruttore?
L'unico problema che potrebbe sorgere in fase di compilazione è se si rinomina al di fuori di Visual Studio e c'è ancora un riferimento al file con il nome precedente in CSProj - altrimenti verrà compilato senza alcuna visualizzazione corrispondente bene . ReSharper dovrebbe mostrare un errore se lo hai installato - ma ho dovuto effettivamente aprire il controller per mostrare l'errore. Vale anche la pena notare che anche questo non è infallibile se esiste un'altra vista con nome corrispondente nella posizione condivisa o nella directory delle viste delle radici dell'applicazione se la vista che si sta cancellando si trova in un'area. – pwdst