¿Dónde debo colocar ayudantes HTML declarativos en ASP.NET MVC 3?

Estoy tratando de hacer un HTML Helper declarativo como se especifica enPublicación de ScottGu's RazorPero no tengo mucha suerte. Intenté poner un archivo Helpers.cshtml con un DateTimeHelper en Views / Helpers pero no lo recogió, así que intenté en App_Code segúnla publicación Beta de MVC 3. Ahora lo recoge, pero cuando trato de usarlo en un archivo así:

@DateTimeHelper (DateTime.Now)

El compilador se queja de que DateTimeHelper no existe.

Algunas cosas extrañas: si cambio el nombre del archivo a DateTime.cshtml, obtengo un error diferente, algo sobre el código particular en mi ayudante.

Para completar, aquí está el código del ayudante:

@helper DateTimeHelper(DateTime t, bool longDate = true, bool showTime = true, bool longTime = true) {
    <time datetime='@t.ToUniversalTime()'>
        @if(longDate) {
            if(showTime) {
                if(longTime) {
                    @t.ToLongDateString() @t.ToLongTimeString();
                } else {
                    @t.ToLongDateString() @t.ToShortTimeString();
                }
            } else {
                @t.ToLongDateString()
            }
        } else {
            if(showTime) {
                if(longTime) {
                    @t.ToShortDateString() @t.ToLongTimeString();
                } else {
                    @t.ToShortDateString() @t.ToShortTimeString();
                }
            } else {
                @t.ToShortDateString()
            }
        }
    </time>
}

El ayudante se usa en cierta vista como esta:

@model dynamic

<div>
    <p> The current time is @DateTimeHelper(DateTime.Now)</p>
</div>

Respuestas a la pregunta(1)

Su respuesta a la pregunta