日期:2014-05-16 浏览次数:20976 次
http://blogs.msdn.com/b/webdev/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx
在中提到我们的最近博客文章,ASP.NET MVC 发布候选版,我们的代码生成功能 (即,添加控制器和添加视图) 现在使用 T4 (文本模板转换工具包) 模板化技术在幕后。因为用户可以自定义的模板很大程度上,我们想要写一篇博文,使每个人都加快关于 T4。
添加控制器和添加视图对话框执行使用在幕后的 T4 模板的代码生成。可以修改这些模板可以自定义从这些工具生成的代码。您可以找到模板位于以下位置: [Visual Studio 安装目录] \Common7\IDE\ItemTemplates\ [CSharp |安全性] \Web\MVC\CodeTemplates\
此外可以将 'CodeTemplates' 文件夹复制到项目的根目录中,以便能够重写在上述地点模板和自定义的模板在每个项目的基础上 (或者,只是创建一个名为 'CodeTemplates' 文件夹和下,创建一个名为 'AddController' 或 'AddView' 文件夹)。请注意您可以选择重写某些模板而不是其他是否你这么想 — — 这些对话框将尊重的优先级的什么是您的项目中正确。此外经常留意对于添加视图对话框中,您可以添加您自己的.tt 文件要么在全球的位置或在您的项目中,让他们在查看内容对话框中的下拉自动填充。
请注意将上述文件夹 (真的,任何时间您将添加一个.tt 文件) 复制到项目时,您将看到警告,如下所示:
这样你不运行的 T4 模板 (如果您要添加多个.tt 文件像 'CodeTemplates' 文件夹复制时,你将不得不每次打取消),撞到取消。这是因为该项目尽快看到一个.tt 文件,该文件是一个属性上的文件称为 'customtool ' 将获取设置为 'TextTemplatingFileGenerator' 这告诉 Visual Studio 做是若要使用默认 T4 主机执行模板并创建一个新文件 (嵌套模板下方) 基于什么是在模板中。
生成器可以有一次性文件生成基于模板,或只是玩弄 T4 — — 然而,因为的好方法添加视图和添加控制器模板具有代码在他们的依赖于自定义模板的主机 (如您稍后将看到),使用的默认生成器执行这些模板只需将生成错误。去吧,要将模板复制到您的项目后只是空的自定义工具属性清除。
注意: 如果你想要摆脱的映射的自动.tt 文件上设置自定义工具,你可以做通过注册表 — — 请注意如果您想要将这些注册表项还原到它们的默认值,您可以从 Visual Studio 安装程序,在执行修复或条目重新手动添加。启动注册表编辑器 (开始 → 运行 → regedit) 和定位到具体取决于您是否使用 Windows 32 位或 64 位安装在以下位置之一:
32 位: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Generators
64 位: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Generators
展开每个直接下发电机的节点,查找名为 '.tt' 任何条目。设置注册表值命名 (默认) 为空。就这么简单 !
如果您想要重写的全局模板,但不想将一个名为 'CodeTemplates' 的文件夹复制到您的项目 (因为你已经有一个文件夹命名,大概是),你可以通过注册表项更改的文件夹添加控制器和添加视图看看的名称。启动注册表编辑器 (开始 → 运行 → regedit) 和定位到具体取决于您是否使用 Windows 32 位或 64 位安装在以下位置之一:
32 位: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\MVC\CodeTemplates
64 位: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\MVC\CodeTemplates
更改为 'OverrideDir' 到你想要的工具在您的项目中查找的值。请注意在此文件夹下将仍然要保持同一层次结构之前,与一个名为 'AddController' 文件夹和/或一个名为 AddView 文件夹。