T4MVC 无法生成带有 ErrorGeneratingOutput 的类
Posted
技术标签:
【中文标题】T4MVC 无法生成带有 ErrorGeneratingOutput 的类【英文标题】:T4MVC failing to generate classes with ErrorGeneratingOutput 【发布时间】:2016-11-07 12:29:20 【问题描述】:我的 MVC 项目多年来一直使用 T4MVC 搭建脚手架。我对我的一个控制器方法的参数输入进行了更改,由于某种原因,当我运行“运行自定义工具”以获取更改时,它改写了带有文本“ErrorGeneratingOutput”的 T4MVC.cs 文件。
我尝试取消更改但没有任何效果。我还多次清理并尝试重建项目,但现在 T4MVC.tt 下没有类,并且在尝试重新生成所有内容时仍然以同样的方式失败。
当我尝试调试模板(“Debug T4 模板”)时,它会改用“ErrorDebuggingTemplate”覆盖 T4MVC.cs 文件。
我还尝试将 T4MVC 更新到 nuget (3.17.4) 上的最新版本,但这并没有改变行为。
在解决此问题之前,我无法推送任何更改,因为该项目现在报告了数千个错误(大多数缺少程序集引用),因此非常感谢任何帮助解决此问题。谢谢。
【问题讨论】:
【参考方案1】:我遇到了一个类似的问题,伴随着构建错误,例如“类、结构或接口成员声明中的令牌 'this' 无效”。我团队中的其他开发人员没有遇到此问题。
我们使用的是 4.2.1 版本,所以我升级到 4.2.4,问题就消失了。 4.2.4 运行并将两个操作方法更改为虚拟(我忘记这样做了,所以可能是导致问题的原因)。
这有点晚了,但也许其他人可以从中受益。
【讨论】:
以上是关于T4MVC 无法生成带有 ErrorGeneratingOutput 的类的主要内容,如果未能解决你的问题,请参考以下文章
为啥 T4MVC 尝试从 Html.ActionLink 运行控制器动作?
无法使用 % url % 模板标签正确生成带有捕获参数的 URL