如何在控制台应用程序中使用Razor View Engine?

我的控制台应用需要发送HTML电子邮件。 我想在Razor视图中以HTML格式编写电子邮件,并让引擎生成电子邮件正文内容。

这意味着没有控制器或请求。 我怎么能这样做?

有一个开源项目允许使用Razor作为一般的模板引擎:它叫做RazorEngine ( GitHub上的代码)

项目页面的示例:

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

我在GitHub上有一个演示项目,它演示了如何使用Razor视图在正在运行的ASP.Net应用程序的上下文之外呈现内容。 它完全支持布局,_ViewStart文件,partials,HtmlHelper,Urlhelper等。

请注意,它使用RazorGenerator Visual Studio工具预编译Razor模板。

有关更多背景信息 ,请参阅我的介绍性博客文章 。