El código fuente es un lugar mucho mejor para buscar esto que la documentación.
Tomando como referencia la MVC 6 code de Github, tenemos algunos archivos de interés
---- ---- actualización
Debido a cambios en la estructura de origen, esta información puede ahora ser encontrado en RazorViewEngine.cs look para Función "GetViewStartPages".
----/---- actualización
ViewStartProvider, que es responsable de reunir una lista de archivos _ViewStart, tiene una función GetViewStartPages. Esta función depende de ViewStartHierarchyUtility para hacer el trabajo de obtener una lista de los archivos de viewstart. Esto responde cómo se recopilan los archivos de viewstart.
Para responder cómo entran en juego, mira RazorView, que creo (debido a IView) está vinculado a la tubería MVC. Este archivo tiene un método RenderAsync que se llama desde la interconexión de MVC para representar la vista solicitada.
RenderAsync realiza llamadas a RenderPage AND THEN RenderLayout (NOTE EL PEDIDO). RenderPage primero realiza llamadas para tratar con archivos viewstart (tenga en cuenta que puede haber más de un archivo _viewstart).
Por lo tanto, la información que busca se puede obtener desde la función RenderViewStartAsync en el archivo RazorView.cs en el espacio de nombres Microsoft.AspNet.Mvc.Razor.
¿Es más o menos una característica "codificada" de MVC3? No tengo necesidad de cambiarlo a otra página "predeterminada", solo curiosidad por cómo se configuró. Gracias por solucionarlo :) – Kman
Kman- Hardcoded, por convención (elija otro 'mango' aquí :)) - así que sí, exactamente. me alegro de que despejó la niebla –
No es solo en su carpeta "Vistas" que puede necesitarla. Si agrega un RazorViewEngine personalizado para organizar vistas en otras carpetas, también debe incluir el archivo en la raíz de esas carpetas de vista alternativa. Por ejemplo, moví todas las vistas de plantilla de Inspinia a una carpeta y ejecuté esto en el motor de visualización 'ViewLocationFormats = ViewLocationFormats.Union (nueva cadena [] {" ~/Inspinia/ExampleViews/{1}/{0} .cshtml "}) .ToArray(); '. Como resultado, tuve que agregar una copia de mi archivo _ViewStart.cshtml a "~/Inspinia/ExampleViews", de lo contrario no se recogió y no se configuró. – Triynko