С помощью ReSharper вы можете щелкнуть правой кнопкой мыши на представлении Razor и Найти использование , но вам придется пройти вручную и повторить для всех представлений (если только вы не можете подключиться к API ReSharper и автоматизировать его).
Проблема с представлениями, конечно же, заключается в том, что они связаны с поздним связыванием на основе соглашения, определенного в механизме представления, в случае значения по умолчанию RazorViewEngine
оно ищет соответствующее представление в ~/Views/{Controller}/{Action}
и~/Views/Shared/{Action}
.Поэтому во время разработки или компиляции сложно сказать, какие представления, партиалы и шаблоны никогда не используются.
Возможно, вы подойдете к нему с противоположной стороны: найдите, какие виды используются.Затем сравните этот список со всеми представлениями в проекте, оцените результаты (вручную и с помощью ReSharper Find Usages) и подтвердите, что они действительно не используются, прежде чем окончательно удалить их.
Чтобы найти используемые представления, вы можетенастройте RazorViewEngine на ведение журнала каждый раз при загрузке представления с помощью CreateView
и FindPartialView
, например,
public class LoggingRazorViewEngine : RazorViewEngine
{
protected override IView CreateView(
ControllerContext controllerContext,
string viewPath,
string masterPath)
{
LogManager.GetLogger("").Debug(viewPath);
return base.CreateView(controllerContext, viewPath, masterPath);
}
}
Настройте его в global.asax.cs
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new LoggingRazorViewEngine());
Затем извлекитесписок зарегистрированных уникальных путей просмотра для сравнения с представлениями вашего проекта.Немного усилий, но, возможно, стоит, если у вас есть много неиспользуемых представлений, загромождающих проект.