运行脚手架控制器时出现 MVC 3 脚手架错误

Posted

技术标签:

【中文标题】运行脚手架控制器时出现 MVC 3 脚手架错误【英文标题】:MVC 3 Scaffolding Error when running Scaffold Controller 【发布时间】:2011-10-30 15:24:15 【问题描述】:

我已经安装了 MvcScaffolding,没有任何问题,但是当我尝试执行脚手架请求时,我收到错误“DbContext.Task.t4”不存在以及其他丢失的文件。我有一个名为 Task 的模型,我认为它指的是它,但我不知道如何修复这个错误?

“脚手架控制器任务-ModelType任务-ControllerName TasksController -DbContextType TasksDbContext"

安装包 MvcScaffolding

PM> 安装包 MvcScaffolding 正在尝试解决依赖项“T4Scaffolding (≥ 1.0.2)”。 正在尝试解决依赖项“EntityFramework (≥ 4.1.10311.0)”。 已成功安装“MvcScaffolding 1.0.2”。 已成功将“MvcScaffolding 1.0.2”添加到 MvcApplication1。

错误

PM> 脚手架控制器任务 -ModelType 任务 -ControllerName TasksController -DbContextType TasksDbContext

脚手架任务控制器...

Find-ScaffolderTemplate:在文件夹 ['C:\Development\MVCPLTaskmanager\MvcApplication1\packages\T4Scaffolding.1 下找不到模板“DbContext.Task.t4” .0.2\tools\EFDbContext'] 在行:1 字符:23 + 参数($c, $a) 返回。

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

Invoke-Scaffolder : 创建了数据库上下文 TasksDbContext,但找不到它作为项目项 在 C:\Development\MVCPLTaskmanager\MvcApplication1\packages\MvcScaffolding.1.0.2\tools\Controller\MvcScaffolding.Controller.ps1:71 char:40 + $dbContextScaffolderResult = 脚手架

回答 事实证明,我的模型的命名空间需要与 MVC 项目相同。一旦我更改了命名空间,脚手架就起作用了。

【问题讨论】:

您可以将您在此处的答案添加为下面的答案并接受吗?此问题在搜索中被标记为未回答。 【参考方案1】:

我遇到了同样的问题,但这是由于模型类中存在错误,导致它们无法构建。因此,没有与我给脚手架起的名称相匹配的模型,它得出的结论是我没有使用正确的命名空间。

所以...

检查您的代码是否存在构建错误 确保模型的命名空间是应用程序的命名空间

【讨论】:

以上是关于运行脚手架控制器时出现 MVC 3 脚手架错误的主要内容,如果未能解决你的问题,请参考以下文章

当我尝试生成脚手架时出现 Rails 错误

ASP.NET MVC Core/6:EF 6 脚手架错误

Yii 访问 Gii(脚手架)时出现 403 错误(非本地访问)

Rails 3.1.10 中脚手架生成的视图规范中缺少部分错误

使用vue-cli脚手架搭建项目,保存编译时出现的代码检查错误(ESLint)

为啥 MVC 脚手架会失败? (在 VS2012 和 VS2013 中有不同的错误)