我已经安装了MvcScaffolding而没有任何问题但是当我尝试执行脚手架请求时,我得到错误“DbContext.Task.t4”不存在以及缺少的其他文件。我有一个名为Task的模型,我认为它指的是但我对如何解决这个错误感到茫然?
“脚手架控制器任务-ModelType任务-ControllerName TasksController -DbContextType TasksDbContext“
安装包MvcScaffolding
错误
脚手架TasksController ...
Find-ScaffolderTemplate:在文件夹['C:\ Development \ MVCPLTaskmanager \ MvcApplication1 \ packages \ T4Scaffolding.1'下找不到模板'DbContext.Task.t4' .0.2 \工具\ EFDbContext'] 在行:1 char:23 + param($ c,$ a)返回。 <<<< $ c @a + CategoryInfo:NotSpecified:(:) [Find-ScaffolderTemplate],Exception + FullyQualifiedErrorId:T4Scaffolding.Cmdlets.FindScaffolderTemplateCmdlet
Get-ProjectType:找不到与名称“MvcApplication1.Models.TasksDbContext”匹配的类型。尝试指定完全限定的类型名称,包括namesp 高手。 在C:\ Development \ MVCPLTaskmanager \ MvcApplication1 \ packages \ T4Scaffolding.1.0.2 \ tools \ EFDbContext \ T4Scaffolding.EFDbContext.ps1:45 char:39 + $ foundDbContextType = Get-ProjectType<<<< ($ dbContextNamespace +“。”+ $ DbContextType) - 项目$ Project + CategoryInfo:NotSpecified:(:) [Get-ProjectType],InvalidOperationException + FullyQualifiedErrorId:T4Scaffolding.Cmdlets.GetProjectTypeCmdlet
Invoke-Scaffolder:创建了数据库上下文TasksDbContext,但无法将其作为项目项找到 在C:\ Development \ MVCPLTaskmanager \ MvcApplication1 \ packages \ MvcScaffolding.1.0.2 \ tools \ Controller \ MvcScaffolding.Controller.ps1:71 char:40 + $ dbContextScaffolderResult = Scaffold<<<< DbContext -ModelType $ foundModelType.FullName -DbContextType $ DbContextType -Area $ Area -Project $ Projec t -CodeLanguage $ CodeLanguage -BlockUi + CategoryInfo:NotSpecified:(:) [Invoke-Scaffolder],RuntimeException + FullyQualifiedErrorId:T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet
ANSWER 事实证明,我的模型的命名空间需要与MVC项目相同。一旦我更改了命名空间,脚手架就可以工作。
答案 0 :(得分:0)
我遇到了同样的问题,但这是因为模型类中存在错误,导致它们无法构建。因此,没有模型与我给脚手架的名称相匹配,结论是我没有使用正确的命名空间。
因此...