RazorGenerator, Plantillas y @Html

Estoy tratando de usarRazorGenerator como un motor de plantillas de correo electrónico. Quiero tomar un modelo con los datos, armar el conjunto correcto de vistas parciales y devolver el HTML que puedo enviar por correo electrónico.
Editar: Además de este flujo de trabajo, cualquier solución debería ser editable como un archivo .cshtml yser capaz de ser compilado en un dll. Por diversas razones, no es práctico implementar los archivos cshtml. Si no podemos incrustar todas nuestras vistas en un solo archivo, no podemos usar esa sugerencia. De ahí RazorGenerator.

Hasta ahora, he resuelto cada parte de él, excepto los parciales. Cuando trato de usar @ Html.Partial () en un archivo de plantilla, obtengo:The name 'Html' does not exist in the current context.

Residencia enesta respuesta, Yo sé eso@Html no forma parte de Razor por defecto, y hay muchas respuestas por ahí en cuanto a cómo crear unHtmlHelper en un controlador. Sin embargo, necesito crear uno en una plantilla, que no tiene elControllerContext que tendría que seguir esos ejemplos.

También he intentado usar @Include, pero la plantilla RazorGenerator no parece admitir eso.Editar: También intenté crear una nueva clase que heredó deTemplateBase<> y copiado toda la funcionalidad deRazorTemplateBase, pero me saleNullReferenceExceptions en el@Include línea.

Entonces, mi pregunta principal es: ¿hay una mejor manera de incluir otro archivo de Razor (con modelo) en mi archivo?

En segundo lugar, si no hay una mejor manera, ¿cómo puedo crear el HtmlHelper?

Editar por recompensa: Solo para reiterar, las cuatro cosas que necesito en una respuesta aceptable son:

La posibilidad de editar.cshtml archivos con el editor estándar (no "almacenarlo como una cadena" o tal)La capacidad de compilar todo en un solo archivo DLL que puede implementarse utilizando nuestro sistema de compilación actual (no podemos implementar muchos .cshtml individuales)La capacidad de hacer referencia a un archivo .cshtml de otro y pasar un modelo, equivalente a@Includes o@Html.Partial (Cualquiera de los cuales es perfectamente aceptable si funcionan)La posibilidad de enviar por correo electrónico el resultado, con archivos adjuntos. (Ya tengo código para esto, si el resultado es una cadena o convertible en una).

Actualmente puedo hacer que la mayoría de las combinaciones de tres de estos funcionen, pero no puedo obtener las cuatro a la vez. Estoy abierto a nuevas bibliotecas, reemplazando a RazorGenerator o eliminando cualquier parte de lo que ya tengo, siempre y cuando el resultado funcione según sea necesario.

Respuestas a la pregunta(2)

Su respuesta a la pregunta