I noticed Asp.net MVC 3 searches for .aspx files before .cshtml files. Can I change this search order? And how to do this?
Background information
When debugging I got the following exception:
The view 'Reset' or its master was not found. The following locations were searched:
~/Views/Demo/Reset.aspx
~/Views/Demo/Reset.ascx
~/Views/Shared/Reset.aspx
~/Views/Shared/Reset.ascx
~/Views/Demo/Reset.cshtml
~/Views/Demo/Reset.vbhtml
~/Views/Shared/Reset.cshtml
~/Views/Shared/Reset.vbhtml
I conclude from this, that the old .aspx views are searched for first.
Since I converted my site to MVC3, and all views to Razor, I would like the .cshtml files to be searched first. I think this would be better for performance.
Thanks to the answer of Craig Stuntz I found the syntax I was looking for:
I added this to my
Application_Start
inGlobal.asax.cs
:This clears the registered ViewEngines, and adds them in the order I want.
Yes. Change the order of the existing view engines..
But in a non-debug configuration, file locations are cached, so it will only help on the first lookup. I wouldn't sweat it.