Asp.net mvc 如何更改MvcScaffolding生成控制器、视图和存储库的项目和文件夹

Asp.net mvc 如何更改MvcScaffolding生成控制器、视图和存储库的项目和文件夹,asp.net-mvc,asp.net-mvc-scaffolding,Asp.net Mvc,Asp.net Mvc Scaffolding,是否有可能更改MVCSCapfolding生成存储库、视图和控制器的默认项目和文件夹?如果从命令窗口触发脚手架,则可以更改默认项目和文件夹 例如: > Scaffold DbContext <modelType> <dbContextName> -Folder /Models/Entities 脚手架DbContext-文件夹/模型/实体 更多信息输出文件夹在运行模板的powershell脚本中指定。您需要生成自定义脚手架,并将其设置为默认脚手架。以下是我为存储

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

如果从命令窗口触发脚手架,则可以更改默认项目和文件夹

例如:

> Scaffold DbContext <modelType> <dbContextName> -Folder /Models/Entities
脚手架DbContext-文件夹/模型/实体
更多信息

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

  • 在Package Manager控制台中:
    Scaffold CustomScaffolder MyRepository
  • 右键单击解决方案并“在Windows资源管理器中打开文件夹”
  • 导航到“packages\t4.1.0.8\tools\eRepository”
  • 将ps1 powershell脚本和t4模板文件的内容复制到步骤1中创建的ps1和t4文件中(覆盖脚手架文本)
  • 更改ps1文件中指定的输出路径,例如。
    $outputPath=加入路径存储库($foundModelType.Name+“存储库”)
  • 将新ps1文件中指定的模板文件更改为新模板文件名,例如
    Add ProjectItemViaTemplate$outputPath-template MyRepository
  • 将存储库的默认模板更改为新模板:
    Set DefaultScaffolder Repository MyRepository

  • 视图和控制器应该是类似的过程,除了原始ps1和t4文件在“packages\MvcScaffolding.1.0.9\tools”中,关于存储库架子工:

  • 转到解决方案文件夹中的packages\t4.1.0.8\tools\EFRepository
  • 右键单击T4Scaffolding.EFRepository脚本并选择Edit
  • 找到行$outputPath=Join Path Models($foundModelType.Name+“Repository”),并用所需的文件夹名称/路径替换单词“Models
  • 关闭并保存脚本
  • 关于其他架子工(操作、视图等)

  • 除了脚本位于packages\mvcscapfolding.1.0.9\tools文件夹中之外,与上述步骤相同

  • 这是一个很好的解决方案,但有没有办法为永久设置路径?不确定是否永久,但您可以尝试“设置脚手架工”/“我的/文件夹”,然后只使用$scaffolder,-Folder选项似乎不再是MVCScapfolding的一部分。我似乎也找不到合适的方法。。。