Исходный код является гораздо лучшим местом для поиска, чем документация.
Ссылаясь на код MVC 6 от Github, у нас есть несколько интересных файлов
---- ---- обновление
Из-за изменений в структуре источника информацию о том, как собираются страницы просмотра, теперь можно найти в RazorViewEngine.cs . Ищите функцию «GetViewStartPages».
---- / обновление ----
Чтобы ответить, как они вступают в игру, посмотрите на RazorView , который, как я считаю (из-за IView), связан с конвейером MVC. Этот файл имеет метод RenderAsync, который вызывается из конвейера MVC для визуализации запрошенного представления.
RenderAsync выполняет вызовы RenderPage И ТОГО RenderLayout (ЗАМЕТЬТЕ ЗАКАЗ).
Сначала RenderPage выполняет вызовы для работы с файлами viewstart (обратите внимание, что во множественном числе может быть более одного файла _viewstart).
Таким образом, запрашиваемую информацию можно получить из функции RenderViewStartAsync в файле RazorView.cs в пространстве имен Microsoft.AspNet.Mvc.Razor.