使用 T4 模板的 Visual Studio MVC 脚手架非常慢

Posted

技术标签:

【中文标题】使用 T4 模板的 Visual Studio MVC 脚手架非常慢【英文标题】:Visual Studio MVC Scaffolding With T4 Templates Is Very Slow 【发布时间】:2020-11-21 09:56:14 【问题描述】:

我正在开发一个 ASP.NET MVC Web 应用程序,它在一个解决方案中包含 43 个项目。我们已经创建了一些 T4 模板来生成/搭建控制器和视图,它们可以正常工作,但是在选择 Add -> Controller > MVC 5 Controller 后,它会在 Gathering Information 加载屏幕上挂起大约 4-5 分钟,直到给你为您的控制器命名并最终创建一个的选项。

选择添加 -> 视图时会发生同样的事情,但在这种情况下,收集信息部分发生在您选择视图模板的对话框甚至打开之前。选择任何模板后,它几乎会立即创建一个新视图。

这在 Visual Studio 2015 和 2019 中都会发生。我怀疑这与解决方案的大小有关,因为在新创建的解决方案的空白项目中它工作得很好。

有谁知道这个问题可能是什么原因,有没有办法解决它?

【问题讨论】:

【参考方案1】:

我刚刚在一个包含 7 个项目的解决方案中遇到了这个问题。最终,我卸载了所有项目,除了我想添加控制器的项目。之后,我可以延迟几秒钟添加控制器,然后重新加载其他项目。

对于那些可能不熟悉多个项目解决方案的人,要卸载项目,请在解决方案资源管理器中单击项目,同时按住 Ctrl 或 Shift 按钮,就像在文件资源管理器中选择文件一样。选择后,右键单击并选择“卸载项目”。

【讨论】:

以上是关于使用 T4 模板的 Visual Studio MVC 脚手架非常慢的主要内容,如果未能解决你的问题,请参考以下文章

MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板

让 Visual Studio 在每次构建时运行 T4 模板

如何在 Visual Studio For Mac 中执行 T4 模板文件?

T4 预处理模板调试不起作用 - Visual Studio 2010 RTM

Visual Studio 2008 Express 是不是支持 t4?

Visual Studio Package 插件开发之自动生成实体工具