Pode recomendar a.net motor modelo?

Estou à procura de um motor.net templating - algo simples, leve, estável com poucas dependências. Tudo o que preciso neste momento é criar textos plain templated e E-mails html. Alguém me pode dar uma boa recomendação?

Se ajudar de todo - algo como as bibliotecas Java ou Velocity .

[actualização] Obrigado pelas respostas até agora - muito agradecido. Estou realmente cheio de recomendações ou histórias de guerra de quando você usou essas bibliotecas. Parece ser a melhor maneira de tomar uma decisão sem tentar cada um por sua vez.

Author: Jon Limjap, 2008-12-04

15 answers

Aqui estão mais alguns. Sobre a velocidade, foi bifurcada pelos tipos do Castelo, está a ser desenvolvida aqui. Para E-mails, nunca precisei de mais do que a avelocidade.
 21
Author: Mauricio Scheffer, 2012-07-04 17:56:46

Lista Mais Completa

  • ASP.Net motor de visualização da Web incorporado
  • ASPView
  • Brail
  • NHaml (Porto de Haml. Net)
  • faísca
  • avelocidade
  • StringTemplate.Net
 5
Author: Palani, 2009-03-05 07:43:33
Eu recomendaria um gerador de Serralharia. É um gerador de código baseado em template, com atualizações constantes e uma comunidade ativa. Aqui está uma lista de modelos aquele navio com o gerador CodeSmith.
 5
Author: KellyCoinGuy, 2011-02-07 13:22:44
RazorEngine, um motor de templação construído no motor de análise à lâmina da Microsoft.

Https://github.com/Antaris/RazorEngine

Ainda não o usei, mas acho interessante porque se tiver um ASP.NET acidente de viação, não precisa de aprender algo novo.
 5
Author: CGK, 2014-03-14 15:57:02

Modelo de texto a partir do anltr.org folks with a C# version too .

 3
Author: kenny, 2008-12-04 11:37:21
Acabei de lançar um projecto de código aberto. Destina-se principalmente a template de E-mail, mas você pode usar o analisador por si só, se quiser. Você pode ler mais alguns detalhes e pegar o código fonte do meu blog.

Http://thecodedecanter.wordpress.com/2010/07/19/town-crier-an-open-source-e-mail-templating-engine-for-net/

 2
Author: Oenotria, 2010-07-20 00:24:58
Acho que é bigode .http://mustache.github.com/) pode caber a conta também.
 2
Author: mp31415, 2012-06-26 20:56:55

Alguns testes com guiador, Razorgina e Shaptal abaixo:

namespace ConsoleApplication4
{
class Program
{
    static void Main(string[] args)
    {

        Stopwatch sw = new Stopwatch();

        //RAZOR
        string razorTemplate = @"@model ConsoleApplication4.Test
                                <h1>@Model.Title</h1>
                                @if(Model.Condition1)
                                {
                                    <span>condition1 is true</span>
                                }
                                <div>
                                    @foreach(var movie in Model.Movies)
                                        {<span>@movie</span>}
                                </div>";

        //burning
        Engine.Razor.RunCompile(razorTemplate, "templateKey", typeof(Test), new Test());
        sw.Start();
        var result1 = Engine.Razor.RunCompile(razorTemplate, "templateKey", typeof(Test), new Test());
        sw.Stop();
        Console.WriteLine("razor : "+sw.Elapsed);


        //SHARPTAL
        string sharpTalTemplate = @"<h1>${Title}</h1>             
                                    <span tal:condition=""Condition1"">condition1 is true</span>                                    

                                         <div tal:repeat='movie Movies'>${movie}</div>";


        var test = new Test();
        var globals = new Dictionary<string, object>
        {
            { "Movies", new List<string> {test.Movies[0],test.Movies[1],test.Movies[2] } },
            { "Condition1", test.Condition1 },
            { "Title", test.Title },
        };



        var tt = new Template(sharpTalTemplate);
        tt.Render(globals);
        sw.Restart();
        var tt2 = new Template(sharpTalTemplate);
        var result2 = tt2.Render(globals);
        sw.Stop();
        Console.WriteLine("sharptal : " + sw.Elapsed);



        //HANDLEBARS
        string handleBarsTemplate = @"<h1>{{Title}}</h1>
                                {{#if Condition1}}                                    
                                    <span>condition1 is true</span>
                                {{/if}}
                                <div>
                                    {{#each Movies}}
                                        <span>{{this}}</span>
                                    {{/each}}                                        
                                </div>";
        var tt3 = Handlebars.Compile(handleBarsTemplate);
        sw.Restart();
        var result3 = tt3(new Test());
        sw.Stop();
        Console.WriteLine("handlebars : " + sw.Elapsed);

        Console.WriteLine("-----------------------------");
        Console.WriteLine(result1);
        Console.WriteLine(result2);
        Console.WriteLine(result3);

        Console.ReadLine();
    }
}

public class Test
{
    public bool Condition1 { get; set; }
    public List<string> Movies { get; set; }
    public string Title { get; set; }

    public Test()
    {
        Condition1 = true;
        Movies = new List<string>() { "Rocky", "The Fifth Element", "Intouchables" };
        Title = "Hi stackoverflow! Below you can find good movie list! Have a good day.";
    }
}


}

E resultados:

code results

 2
Author: Nigrimmist, 2015-11-05 14:18:55

Tenta este: framework de modelos de E-mail http://www.bitethebullet.co.uk/Email_Template_Framework.aspx

Funciona muito bem debaixo ASP.NET e WinForms e ainda está em desenvolvimento ativo. Há também documentação muito agradável e fácil de digerir em exemplos.

 1
Author: binball, 2011-04-22 02:28:20

DotLiquid {[3] } é um bom sistema de templação para. NET.

É derivado da marca líquida da Ruby, com requisitos.NET Framework 3.5 ou acima.
 1
Author: dns, 2014-06-03 15:34:05
Já viste a velocidade NVelocity,uma porta de rede? http://nvelocity.sourceforge.net/
 0
Author: MattValerio, 2008-12-04 10:11:43

NVELOCITY, embora seja antigo, último lançamento em 2003, já chega.

 0
Author: Tredency, 2013-05-20 03:14:51

Shaptal - motor autónomo em desenvolvimento activo e sem dependências, fast

 0
Author: rlacko, 2014-04-04 19:47:14

XCST (modelos extensíveis de C-Sharp)

<ul>
   <c:for-each name='n' in='System.Linq.Enumerable.Range(1, 5)' expand-text='yes'>
      <li>{n}</li>
   </c:for-each>
</ul>
 0
Author: Max Toro, 2017-10-29 00:32:56