我有一个asp.net核心1.1项目,我需要获取包含标记帮助程序的cshtml视图的已编译C#代码。
我知道precompile the razor views,的可能性,但这没有用,因为它生成的dll包含与视图对应的IL代码而不是C#代码。
我发现以下文章解释了如何在asp.net mvc之外使用razor engine,但它与asp.net核心无关。
答案 0 :(得分:1)
我是RazorLight库(https://github.com/toddams/RazorLight)的作者,RazorEngine可以在.NET Core上运行。
它可以部分解决您的问题。部分原因,因为目前不支持标记帮助程序,但计划在将来实现它们。看看它,我相信它可能对你有用。随意提出任何问题
更新
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);