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 运行控制器动作?

T4MVC,过时了吗?还好?如果不是还有啥用?

无法使用 % url % 模板标签正确生成带有捕获参数的 URL

带有 Relay 的 TypeScript:无法解析生成的模块

无法生成带有参数的 get 请求的 json 响应

无法生成带有标签 <Document> 的 XML 文件