我已经使用 T4MVC 有一段时间了,并且喜欢“用于渲染局部的显式 HtmlHelpers”功能,默认情况下它是关闭的。我正在使用 T4MVC 版本 2.6.40。
我最近升级到 MVC3 并注意到没有为 Razor 部分生成显式 HtmlHelpers,所以我查看了 T4MVC 文本模板的源代码,发现了一个名为“GetPartials”的方法,它有一行代码如下:
var parts = GetControllers()
.Select(m => m.ViewsFolder)
.SelectMany(m => m.Views)
.Where(m => m.Value.EndsWith(".ascx"));
所以很明显,不支持 Razor 视图。
我还想提一下,在运行 T4 模板(右键单击 > 运行自定义工具)时,我收到编译器警告,指出:“不再支持 C# 2.0 和 C# 3.5 编译器。模板将始终与版本一起编译4 编译器而不是指定的'v3.5'。”
这与第 18 行有关,其中模板语言属性的值为“C#v3.5”。为什么它必须具有显式的版本依赖关系?它不能只是“C#”吗?
很抱歉在一篇文章中提出两个单独的问题。