私はこれをしたいです:
string template = "Hello @Model.Name! Welcome to Razor!";
string result = Razor.Parse(template, new { Name = "World" });
http://razorengine.codeplex.com は、1年前のものを除いて、完璧だと思われます。
編集:RazorEngineがGitHubに移動し、数か月前にコミットしたことが判明しました: https://github.com/Antaris/RazorEngine
Service StackにはいくつかのRazorセルフホスティングがあることに気付きましたが、ここには長いページがあります http://razor.servicestack.net 「コンソールからこれを完全に実行できるHello World」はありません。
コンソールアプリケーション内でASP.NET RazorテンプレートからHTMLを生成するための現在の最良のソリューションは何ですか?
コンソールアプリケーション内でASP.NET RazorテンプレートからHTMLを生成するための現在の最良のソリューションは何ですか?
RazorEngine
。フルストップ。
ServiceStackは、Razorビューページをレンダリングするためのもう1つのオプションです。 ASP.NETまたはHttpListenerWebホストへの統合用に最適化されていますが(そして、ビューページの自動検出とディレクトリへの登録、変更されたページのオンザフライでの再コンパイルなどのための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のHtmlHelpersへのアクセスが含まれます。 razor-console.servicestack.net にあるように、セルフホストのServiceStack HttpListenerからかみそりのWebサイトを簡単にホストすることもできます。そのソースコードは セルフホストコンソールで利用できます)アプリケーション または Windowsサービス 。
ナンシーにはセルフホストオプションがあり、Razorをビューエンジンとしてプラグインできます。
https://github.com/NancyFx/Nancy/wiki/Hosting-nancy-with-wcf
これを「現在の最良の」ソリューションとは言いません。しかし、私はそれを非常に興味深く見つけ、それがあなたがやろうとしていることを達成することを可能にするでしょう。あまりきれいにまとめられていません。 http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of-aspnet-revised-for-mvc3-rc.html/