+1  A: 

Just make sure that you have the following web.config file at the root of your custom view engine path:

<?xml version="1.0"?>

<configuration>
  <system.web>
    <httpHandlers>
      <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
    </httpHandlers>

    <!--
        Enabling request validation in view pages would cause validation to occur
        after the input has already been processed by the controller. By default
        MVC performs request validation before a controller processes the input.
        To change this behavior apply the ValidateInputAttribute to a
        controller or action.
    -->
    <pages
        validateRequest="false"
        pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
        userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
      <controls>
        <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
      </controls>
    </pages>
  </system.web>

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />

    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
</configuration>

You could copy-paste the web.config file automatically generated by the default template and located in ~/views/web.config into ~/content/web.config.

Basically the important part is :

pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, ..."

Darin Dimitrov
It worked! Thank you so much!
Michael DiBernardo
So, does this mean that any virtual directory tree that contains templates must have this kludgy web.config in its root folder?Out of curiousity, is this behaviour documented somewhere? I'd like to read the reasoning behind it, etc. Thanks again!
Michael DiBernardo
@Michael, it's the `pageBaseType` attribute that matters which instructs the ASP.NET compiler of the base type.
Darin Dimitrov