如何更改MvcScaffolding生成控制器,视图和存储库的项目和文件夹

时间:2013-01-14 12:09:01

标签: asp.net-mvc asp.net-mvc-scaffolding

是否有可能更改MvcScaffolding生成存储库,视图和控制器的默认项目和文件夹?

3 个答案:

答案 0 :(得分:1)

如果您从命令窗口

触发脚手架,则可以

例如:

> Scaffold DbContext <modelType> <dbContextName> -Folder /Models/Entities

更多信息http://blog.stevensanderson.com/2011/01/13/mvcscaffolding-standard-usage/

答案 1 :(得分:1)

输出文件夹在运行模板的powershell脚本中指定。您需要生成自定义脚手架,并将它们设置为默认脚手架。以下是我为存储库执行的操作:

  1. 在程序包管理器控制台中:Scaffold CustomScaffolder MyRepository
  2. 右键单击解决方案和“在Windows资源管理器中打开文件夹”
  3. 导航至“packages \ T4Scaffolding.1.0.8 \ tools \ EFRepository”
  4. 将ps1 powershell脚本和t4模板文件的内容复制到步骤1中创建的ps1和t4文件中(覆盖脚手架文本)。
  5. 更改ps1文件中指定的输出路径,例如 $outputPath = Join-Path Repositories ($foundModelType.Name + "Repository")
  6. 将新ps1文件中指定的模板文件更改为新的模板文件名,例如Add-ProjectItemViaTemplate $outputPath -Template MyRepository
  7. 将存储库的默认模板更改为新模板:Set-DefaultScaffolder Repository MyRepository
  8. 视图和控制器应该是一个类似的过程,除了原始的ps1和t4文件位于“packages \ MvcScaffolding.1.0.9 \ tools”

答案 2 :(得分:0)

关于存储库脚手架:

  1. 转到解决方案文件夹中的 packages \ T4Scaffolding.1.0.8 \ tools \ EFRepository
  2. 右键单击 T4Scaffolding.EFRepository 脚本,然后选择修改
  3. 找到 $ outputPath = Join-Path Models($ foundModelType.Name +“Repository”)这一行,并将“模型”替换为您想要的文件夹名称/路径
  4. 关闭并保存脚本
  5. 关于其他脚手架(动作,视图等)

    1. 上述步骤相同,只是脚本位于 packages \ MvcScaffolding.1.0.9 \ tools 文件夹