我在非MVC环境中使用Razor引擎(razorengine.codeplex.com)。我编译存储在文件中的模板,并将@inherits
用于智能感知支持。
View<>
并将View<>
设置为基类所有cshtml文件均具有以下
@inherits
指令:@inherits View<SomeModel>
引发错误:
我的web.config包含以下条目:
<add namespace="CustomAssembly.NamespaceContainingViewClass" />
我认为这与其他条目
<assemblies>
有关,其中未提及我的CustomAssembly
。是这样吗我可以使用包含在另一个程序集中的自定义基类进行编译吗? p.s.我无法检索该程序集的强名称,因为我的自定义程序集引用的3d派对程序集也没有被强命名。
堆栈跟踪:
at RazorEngine.Compilation.DirectCompilerServiceBase.CompileType(TypeContext context)
at RazorEngine.Templating.TemplateService.CreateTemplate(String template, Type modelType)
at RazorEngine.Templating.TemplateService.GetTemplate(String template, Type modelType, String name)
at RazorEngine.Templating.TemplateService.Compile(String template, Type modelType, String name)
at RazorEngine.Razor.Compile(String template, Type modelType, String name)
最佳答案
您可能需要将razor config部分添加到web.config
中:
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<configSections>
<section name="razorEngine" type="RazorEngine.Configuration.RazorEngineConfigurationSection, RazorEngine" requirePermission="false" />
</configSections>
</configuration>
<razorEngine>
<namespaces>
<add namespace="CustomAssembly.NamespaceContainingViewClass" />
</namespaces>
</razorEngine>
关于.net - RazorEngine-命名空间导入编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6016999/