Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 什么';在控制台应用程序中从ASP.NET Razor模板生成HTML的最佳解决方案是什么?_C#_Asp.net_Asp.net Mvc_Razor_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,C#,Asp.net,Asp.net Mvc,Razor,servicestack" /> servicestack,C#,Asp.net,Asp.net Mvc,Razor,servicestack" />

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

C# 什么';在控制台应用程序中从ASP.NET Razor模板生成HTML的最佳解决方案是什么?,c#,asp.net,asp.net-mvc,razor,servicestack,C#,Asp.net,Asp.net Mvc,Razor,servicestack,我想这样做: string template = "Hello @Model.Name! Welcome to Razor!"; string result = Razor.Parse(template, new { Name = "World" }); 它看起来很完美,只是它已经一岁了 编辑:事实证明RazorEngine已经迁移到GitHub,几个月前有一次提交: 我注意到Service Stack有一些Razor自托管功能,但这里有一个很长的页面,没有“hello world,您完全可以

我想这样做:

string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
它看起来很完美,只是它已经一岁了

编辑:事实证明RazorEngine已经迁移到GitHub,几个月前有一次提交:

我注意到Service Stack有一些Razor自托管功能,但这里有一个很长的页面,没有“hello world,您完全可以从控制台执行此操作”


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

我不会称之为“当前最佳”解决方案。然而,我发现它非常有趣,它会让你完成你想做的事情。只是包装不太整齐

Nancy有一个自主机选项,并且能够将Razor插入视图引擎

当前从ASP.NET生成HTML的最佳解决方案是什么 控制台应用程序中的Razor模板


。句号。

ServiceStack是呈现Razor视图页面的另一个选项。尽管它针对集成到ASP.NETHttpListenerWeb主机进行了优化(并提供了用于在目录中自动发现和注册视图页面、动态重新编译修改页面等的API),但它还支持静态生成视图页面:

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();


使用ServiceStack的Razor视图渲染引擎的好处包括访问许多移植到ServiceStack的MVC HTMLHelper。您还可以轻松地从自托管ServiceStack HttpListener中托管razor网站,如中所示,其源代码在或中提供。

也可以尝试一下。您认为对于控制台应用程序来说,这有点过分吗?我不是在尝试提供HTML,而是在尝试生成它。当然,它在简单性方面并没有打败RazorMachine。但是如果你需要一个轻量级主机,你就有了一个候选者。谢谢,看起来很有用,但似乎RazorEngine或@MikeSW指向RazorMachine的指针是最好的。链接断开了,实际链接没有最后一个斜杠:很不幸,无法编辑答案,因为它需要6个字符的更改,而不是一个:)你会推荐任何一个一步一步来完成这项工作的博客吗?我已经看了一个小时了,这是我找到的唯一链接。我遵循了教程,但编译模板时出现了错误。仅供参考:“此项目正在搜索新的维护人员,因此,如果您想帮助在gitter上编写或开始发送PRs:)”ServiceStack已经商业化;如果你不是在写开源软件,你很可能需要授权。旧版本是BSD;较新的是GNU Affero GPL(除非获得许可)。看到和