-
Notifications
You must be signed in to change notification settings - Fork 42
Enabling debugging for embedded razor views
Harry McIntyre edited this page Sep 2, 2016
·
2 revisions
Add this to your project
public class MyCustomRazorHostFactory : WebRazorHostFactory
{
public override System.Web.WebPages.Razor.WebPageRazorHost CreateHost(string virtualPath, string physicalPath)
{
// Implementation stolen from MvcRazorHostFactory :)
var host = base.CreateHost(virtualPath, physicalPath);
if (!host.IsSpecialPage)
{
return new MyCustomRazorHost(virtualPath, physicalPath);
}
return host;
}
}
public class MyCustomRazorHost : MvcWebPageRazorHost
{
public MyCustomRazorHost(string virtualPath, string physicalPath)
: base(virtualPath, physicalPath)
{
var vpp =
(EmbeddedResourceVirtualPathProvider.Vpp) System.Web.Hosting.HostingEnvironment.VirtualPathProvider;
var resource = vpp.GetResourceFromVirtualPath(virtualPath);
if (resource != null)
{
PhysicalPath = resource.Filename;
}
}
}
In web.config
<system.web.webPages.razor>
<host factoryType="My.Custom.Namespace.MyCustomRazorHostFactory" />
</system.web.webPages.razor>