asp.net-mvc-3 – 是否有自动方式在MVC中查找未使用的视图?
|
有没有人知道找出项目中未使用的视图的方法?与Resharper或没有它.
解决方法使用ReSharper,您可以右键单击Razor视图和Find Usages,但您必须手动完成并重复所有视图(除非您可以挂钩到ReSharper的API并自动执行).当然,视图的问题是它们是基于视图引擎中定义的约定而后期绑定的,在默认的RazorViewEngine的情况下,它在/ Views / {Controller} / {Action}中查找相应的视图,/查看/共享/ {操作}.因此,在设计或编译时很难分辨哪些视图,部分和模板从未使用过. 你可以从相反的角度来解决它:找到正在使用的视图.然后根据项目中的所有视图对此列表进行区分,评估结果(手动和使用ReSharper查找用法)并确认它们在最终删除之前确实没有被使用. 要查找正在使用的视图,您可以自定义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()); 然后提取已记录的唯一视图路径列表,以与项目的视图进行比较.需要付出一点努力,但如果你有很多未使用的观点使项目混乱,那么可能是值得的. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何在selectindexchanged下拉列表后避免页面刷
- asp.net – 什么时候应该使用Page.DataBind()和Control.Dat
- 如何测试ASP.NET会员密码是否符合配置的复杂性要求?
- asp.net – 在PreRender上添加控件页面
- iis-6 – IIS 6拒绝访问默认文档
- 在ASP.Net日历控件中默认选择当前日期
- 在ASP.NET应用程序中托管的WCF服务中使用Autofac作为DI
- asp.net-mvc-2 – 检查Html.ValidationSummary()是否有值
- 测量ASP.NET页面加载时间
- asp.net-mvc – 控制器的实例上的HttpContext在ASP.net MVC
- asp.net-mvc – 这叫什么类型的架构?
- asp.net – 如何在Azure网站上设置machineKey
- asp.net – Googlebot导致.NET System.Web.HttpE
- asp.net-mvc – 从Ajax表单帖子中重定向
- asp.net-mvc – Azure ACS 2自定义域
- asp.net-mvc – 在VS 2015中添加视图上下文菜单非
- Asp.net UserControl LoadControl问题
- asp.net-mvc – FluentValidation Autofac Valid
- ASP.NET MVC删除操作方法中的查询字符串
- asp.net-core-webapi – 在asp.net核心web api中
