1. ホーム
  2. c#

[解決済み] .NET CoreでMVC以外のRazorを使う

2023-05-17 07:14:02

質問

.NET Coreで書いている.NETコンソールアプリケーションで、テンプレートエンジンとしてRazorを使いたいのですが、どうすればいいですか?

私が出会ったスタンドアロンの Razor エンジン (RazorEngine, RazorTemplates) は、すべて完全な .NET を必要とします。私は、.NET Core で動作するソリューションを探しています。

どのように解決するのですか?

最近、私は以下のようなライブラリを作成しました。 RazorLight .

ASP.NET MVC の部品のように冗長な依存関係がなく、コンソールアプリケーションで使用することができます。今のところ.NET Core(NetStandard1.6)のみをサポートしています - しかし、それはまさにあなたが必要とするものなのです。

以下は短い例です。

IRazorLightEngine engine = EngineFactory.CreatePhysical("Path-to-your-views");

// Files and strong models
string resultFromFile = engine.Parse("Test.cshtml", new Model("SomeData")); 

// Strings and anonymous models
string stringResult = engine.ParseString("Hello @Model.Name", new { Name = "John" });