在控制台应用程序中从ASP.NET Razor模板生成HTML的最佳解决scheme是什么?

我想做这个:

string template = "Hello @Model.Name! Welcome to Razor!"; string result = Razor.Parse(template, new { Name = "World" }); 

看起来http://razorengine.codeplex.com是完美的,只有一岁了。

编辑:原来,RazorEngine已经转移到GitHub和几个月前提交: https : //github.com/Antaris/RazorEngine

我注意到,服务堆栈有一些剃刀自我托pipe,但有一个很长的页面在这里http://razor.servicestack.net没有“你好,你可以从控制台完全做到这一点。

在控制台应用程序中从ASP.NET Razor模板生成HTML的最佳解决scheme是什么?

在控制台应用程序中从ASP.NET Razor模板生成HTML的最佳解决scheme是什么?

RazorEngine 。 句号

ServiceStack是渲染Razor视图页面的另一个选项。 虽然它已经过优化,可以集成到ASP.NETHttpListener Web主机中(并提供API用于在目录中自动发现和注册视图页面,dynamic重新编译修改的页面等),但它也支持静态生成视图页面:

 var razor = new RazorFormat { VirtualPathProvider = new InMemoryVirtualPathProvider(new BasicAppHost()), EnableLiveReload = false, //don't scan for file system for changes }.Init(); var page = razor.CreatePage("Hello @Model.Name! Welcome to Razor!"); var html = razor.RenderToHtml(page, new { Name = "World" }); html.Print(); 

这是本例的独立unit testing 。

使用ServiceStack的Razor视图渲染引擎的好处包括访问许多移植到ServiceStack的MVC的HtmlHelpers。 您还可以从自托pipe的ServiceStack HttpListener轻松托piperazor网站,如razor-console.servicestack.net所示 ,其源代码位于自托pipe控制台应用程序或Windows服务中 。

南希有一个自我主机选项,并能够将Razor作为视图引擎。

https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-wcf

https://github.com/NancyFx/Nancy/wiki/Razor-View-Engine

我不会称之为“当前最好的”解决scheme。 但是,我发现它很有趣,它会让你完成你正在做的事情。 它不是很整齐地包起来。 http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/