namespace System.Web.Mvc { using System.ComponentModel; using System.Web.WebPages.Scope; [EditorBrowsable(EditorBrowsableState.Never)] public static class PreApplicationStartCode { private static bool _startWasCalled; public static void Start() { // Guard against multiple calls. All Start calls are made on same thread, so no lock needed here if (_startWasCalled) { return; } _startWasCalled = true; System.Web.WebPages.Razor.PreApplicationStartCode.Start(); System.Web.WebPages.PreApplicationStartCode.Start(); ViewContext.GlobalScopeThunk = () => ScopeStorage.CurrentScope; } } }