我在非 MVC 环境中使用 Razor 引擎 ( razorengine.codeplex.com )。我编译存储在文件中并@inherits
用于智能感知支持的模板。
- RazorEngine 组件
- 自定义程序集 - 引用 RazorEngine,包含
View<>
并设置View<>
为基类 - Web 应用程序 - 引用 RazorEngine、自定义程序集、包含 .cshtml 模板文件
所有 cshtml 文件都有以下@inherits
指令:
@inherits View<SomeModel>
抛出一个错误:
找不到名称空间视图的类型,您是否缺少程序集引用?
我的 web.config 包含以下条目:
<add namespace="CustomAssembly.NamespaceContainingViewClass" />
我认为这与未提及<assemblies>
my的其他条目有关。CustomAssembly
是这样吗?我可以使用包含在另一个程序集中的自定义基类进行编译吗?
ps 我无法检索程序集的强名称,因为我的自定义程序集引用了一个也没有强命名的 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)