Estoy buscando un motor de plantillas para .NET/C# para generar notificaciones de correo electrónico en mi aplicación. He leído acerca de NVelocity en el pasado y creo que se ajuste a mis necesidades, pero parece que este proyecto está muerto.

Que todavía se recomienda el uso de NVelocity para ese propósito, o puede sugerir alguna alternativa?

Nota: he encontrado algún otro motor de plantillas, pero estos son en su mayoría «ver-motores» para ASP.NET MVC (Brail, NHaml, etc.). Pero creo que estos no son lo que estoy buscando.

InformationsquelleAutor M4N | 2009-03-30

10 Comentarios

  1. 27

    El Castillo de Proyecto bifurcada en el proyecto y se han de mantener, y más recientemente lanzado la versión 1.1.1 el 10 de diciembre de 2010. Más detalles se pueden encontrar en el Castillo de Proyectos NVelocity sitio. También se han realizado una serie de mejoras, detalles de los cuales se pueden encontrar en su NVelocity mejoras página. El proyecto parece que ahora está muerto y en Monorraíl 3, ha sido sustituido por el Castillo de la Cuchilla que está basada en la maquinilla de Afeitar.

    Si usted está buscando una alternativa, entonces yo sugeriría que la Motor de vistas Razor de ASP.Net MVC3 o la Spark Motor De La Vista.

    El proyecto de código abierto RazorEngine permite utilizar el motor de Vistas Razor fuera de ASP.Net MVC o Páginas Web, así que usted puede utilizar para generar plantillas de correos electrónicos.

    • Castillo había un NVelocity lanzamiento en diciembre de 2010.
    • Estoy trabajando con ASP.NET 2.0 y necesitaba una plantilla de la biblioteca. Debo ir con el original NVelocity o es que hay una buena alternativa que es compatible con ASP.NET 2.0 (no MVC 2!).
    • github.com/castleproject/NVelocity
    • Hola, @Earlz no muertos y veo los cambios recientes (21 días. He actualizado los enlaces.
    • Puedo ver que NVelocity parece estar basada en la versión del Motor de mayores de v1.6, aunque! No apoyo a operadores de texto como «y»
  2. 3

    Usted podría utilizar brail o nhaml independiente para generar correos html.

    El núcleo de nhaml (no estoy seguro acerca de brail??) no tiene referencias a MVC o ASP.

    He utilizado nhaml para generar documentos XPS para la impresión y presentación de informes de una victoria de los formularios de la aplicación.

    Si tiene que ser de texto, tal vez http://www.stringtemplate.org/

    Y aquí hay una pregunta similar Cómo utilizar Brail como un stand-alone de propósito general motor de plantillas (como NVelocity)?

  3. 3

    No veo motivo para no usar NVelocity (el Castillo del proyecto de la horquilla). Es estable y sus necesidades específicas (plantillas de correo electrónico) probablemente no son tan complejos como los de otros proyectos que utilizan NVelocity, así que usted no debe esperar ningún tipo de problemas.

  4. 3

    Hay proyecto en codeplex.

    http://www.codeplex.com/NVelocity

    Descripción Del Proyecto:
    NVelocity es un puerto de muy propular de código abierto de java plantilla enginee
    marco,la velocidad de 1.6.
    NVelocity es un puro .Neto de la biblioteca escrita en C# que en la actualidad se dirige
    Framework versión 3.5.

    La fuente inicial código facturado parece ser directamente de
    svn.castleproject.org.

    La persona que crea el proyecto de CodePlex (nombre de usuario: TerryLiang) también
    creado uno nuevo en agosto de nLucene. Para ese proyecto, que ha
    hizo unos 50 confirmaciones desde entonces, así que tal vez él está planeando hacer algunos
    trabajo serio en ese proyecto.

    • Veo el mensaje El sitio por delante contiene programas dañinos! y si entro veo Proyecto ‘NVelocity’ no se encontró
  5. 3

    No hay nada de malo con NVelocity excepto que es difícil encontrar la versión más actualizada del proyecto. Google normalmente vueltas el viejo sourceforge enlace como el primer golpe, y el codeplex enlace es el siguiente más común. El lugar para obtener es de Castillo como Pervez Choudhury mencionado. Utilizamos el Castillo de la versión de NVelocity en el trabajo, y es genial.

    Hay otra opción que surgió en los años posteriores a esta pregunta se pidió por primera vez, y que es de Microsoft T4. La mayoría de la gente piensa de la T4 como un pre-compilación generador, como lo hizo la primera versión, pero en realidad ahora se puede utilizar para generar un generador de clase y hacer la generación dinámica en tiempo de ejecución. Se llama un preprocesado T4 plantilla, y usted puede leer más acerca de él aquí. La ventaja es que ya está integrado en Visual Studio, así que usted no necesita hacer nada especial para conseguir que va.

    • Hay algo mal con NVelocity, en realidad, como la última versión de NVelocity sólo tiene la función de establecer hasta alrededor de v1.5 de la Velocidad, lo que significa que no soporta operadores de texto como «y» en lugar de «&&» y «o» en lugar de «||», por ejemplo
  6. 3

    Como NVelocity parece haber muerto (otra vez), yo sugeriría DotLiquid. No se puede decir mucho por ahora ya que estoy evaluando es, pero seguro que se ve prometedor (y construye como MonoTouch/MonoDroid biblioteca para lo que me preocupa).

    ACTUALIZACIÓN [11 Jun 2012]

    La restricción de tener la «seguridad» de las clases/colecciones como modelos puede ser una importante fuente de dolores de cabeza. Cuando la evaluación de este motor, es posible que desee iniciar a partir de este punto.

  7. 2

    Yo no puedo upvote Sorin para DotLiquid, tan sólo quiero añadir mi comentario – parece que es una gran plataforma siendo desarrollado activamente.

    Y con las características que tienen en el tronco de la versión (no en la versión del archivo dll tho) usted puede utilizar pocos sin la necesidad de heredar de cualquier clase base si te registras con ellos de esta manera:

    foreach (var type in {Assembly}.GetTypes())
        Template.RegisterSafeType(type, type.GetProperties().Select(p => p.Name).ToArray());

    esta resuelto los dolores de cabeza Sorin mencionado.

    StringTemplate también es una gran cosa, pero demasiado estricto y limitar, las plantillas son demasiado puros puntos de vista y es inpractical a usar…

  8. 1

    Puede utilizar el original (y se actualiza con frecuencia), la versión de Java de la Velocidad .Net utilizando IKVM para convertirla en una asamblea. He utilizado la velocidad con éxito esta forma de generación de código bajo .Net. También puede tomar un vistazo a StringTemplate. No son java y C# versiones de StringTemplate. Usted puede encontrar una rápida mini-tutorial sobre el uso de la Velocidad .Net aquí. Sugiero tomar una mirada dura a StringTemplate sin embargo, como creo que es un limpiador de motor de plantilla (soy un converso reciente).

  9. 0

    Me gustaría recomendar el uso de XSLT para la creación de plantillas. Sí, se requiere un poco más de tiempo para aprender la tecnología, pero entonces usted tiene mucho más flexible solución de plantilla que cualquier otra cosa.

Dejar respuesta

Please enter your comment!
Please enter your name here