在 MVC 6/DNX 项目 (.xproj) 中执行从 EF6 模型到 views/controller 的 T4 脚手架时出错
Error on executing T4 scaffolfing from EF6 model to views/controller in MVC 6 / DNX project (.xproj)
在最新的 MVC 6 的 DNX 项目中,当然没有使用从 EF6 模型到 views/controller 的可自定义脚手架这样的选项。但是我尝试使用 PM 控制台命令 Scaffold
(又名 Invoke-Scaffolder
,来自 T4Scaffolding.Core.1.0.0\tools\T4Scaffolding.dll
) 来调查哪些自定义代码生成可以迁移,哪些不能。
Scaffold -Scaffolder Controller -Project DemoDnxMvcApp -OverrideTemplateFolders "D:\cot\klik\kk\vse\V1.DnxMvcApp\" -Force Templates
并得到一个错误 'project DemoDnxMvcApp not found'。似乎 t4 脚手架不理解 xproj 项目,无法处理它们。
但我也注意到现在可以在此类项目中创建和执行 t4 模板(例如,可以从 EF6 模型生成 TypeScript)。
- 如何使 T4 EF6 脚手架与 xproj 项目一起工作?
- 我如何制作在 DNX 项目中工作的简单 T4 模板?
- 如果不再支持 T4(不够 'crossplatform'),在 DNX 项目中有什么工具可以替代它?
P.S。 (使用 beta5 DNX)
所以最新的 .net 中的 T4 支持将根据这个 git hub issue but I don't think it is high on the priority list. I am guessing that they will be pushing yeoman templates 因为他们现在在 DNX 中所做的一切看起来越来越像节点。
现在我至少可以回答问题的第三部分了:
应该可以使用 Rolsyn 从 EF6 模型生成 Web Api,然后使用 yeoman 等工具从 Web api 生成客户端。
在最新的 MVC 6 的 DNX 项目中,当然没有使用从 EF6 模型到 views/controller 的可自定义脚手架这样的选项。但是我尝试使用 PM 控制台命令 Scaffold
(又名 Invoke-Scaffolder
,来自 T4Scaffolding.Core.1.0.0\tools\T4Scaffolding.dll
) 来调查哪些自定义代码生成可以迁移,哪些不能。
Scaffold -Scaffolder Controller -Project DemoDnxMvcApp -OverrideTemplateFolders "D:\cot\klik\kk\vse\V1.DnxMvcApp\" -Force Templates
并得到一个错误 'project DemoDnxMvcApp not found'。似乎 t4 脚手架不理解 xproj 项目,无法处理它们。
但我也注意到现在可以在此类项目中创建和执行 t4 模板(例如,可以从 EF6 模型生成 TypeScript)。
- 如何使 T4 EF6 脚手架与 xproj 项目一起工作?
- 我如何制作在 DNX 项目中工作的简单 T4 模板?
- 如果不再支持 T4(不够 'crossplatform'),在 DNX 项目中有什么工具可以替代它?
P.S。 (使用 beta5 DNX)
所以最新的 .net 中的 T4 支持将根据这个 git hub issue but I don't think it is high on the priority list. I am guessing that they will be pushing yeoman templates 因为他们现在在 DNX 中所做的一切看起来越来越像节点。
现在我至少可以回答问题的第三部分了:
应该可以使用 Rolsyn 从 EF6 模型生成 Web Api,然后使用 yeoman 等工具从 Web api 生成客户端。