2017-02-25 9 views
0

私はasp.netコア1.1プロジェクトを持っており、タグヘルパーを含むcshtmlビューのコンパイル済みC#コードを取得する必要があります。asp.netコアのcshtmlビューからコンパイルされたC#コードを取得するには?

私は、precompile the razor viewsへの可能性を認識していが、それはビューではなくC#コードに対応したILコードを含むDLLを生成するので、これは役立ちません。

razor engineをasp.net mvc以外のの外部で使用する方法について説明した以下の記事が見つかりましたが、asp.netコアには該当しません。

+0

アップデートを任意の質問をすること自由に感じなさい。そしてなぜC#のコードではなく、かみそり? –

答えて

1

私はRazorEngineの代わりに.NET RazorLightライブラリ(https://github.com/toddams/RazorLight)の著者です。

これは部分的にあなたの問題を解決することができます。理由の一部は、タグヘルパーはサポートされていませんが、将来はそれらを実装する予定です。それを見て、私はそれがあなたにとって有用かもしれないと信じています。あなたは、C#のコードではなくコンパイル済みのDLLをしたいと思うのはなぜ

var engine = EngineFactory.CreatePhysical("path here"); 

string content = "your content to be compiled"; 
var modelInfo = new ModelTypeInfo(typeof(YourViewModel)); 

string razorTemplate = engine.Core.GenerateRazorTemplate(new LoadedTemplateSource(content), modelInfo); 
+0

あなたは私にC#コードを取得する方法と、最終的に生成されるコンテンツ(通常はHTML文字列)を取得する方法の例を教えてください:-)? – Chedy2149

+1

私は後でコード例を使って自分の答えを更新するつもりです。現時点では自分の携帯電話を使用していますが、これはあまり便利ではありません) – Toddams

関連する問題