Я установил MvcScaffolding без каких-либо проблем, но когда я пытаюсь выполнить запрос скаффолда, я получаю сообщение об ошибке «DbContext.Task.t4» не существует вместе с другими файлами, которые отсутствуют. У меня есть модель под названием «Задача», на которую, я думаю, она ссылается, но я не знаю, как исправить эту ошибку?
"Задача контроллера скаффолдов -ModelType Task -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.
Error
- PM> Задача контроллера скаффолдов -ModelType Task -ControllerName TasksController -DbContextType TasksDbContext
Задачи лесовКонтроллер ...
Find-ScaffolderTemplate: Не удалось найти шаблон 'DbContext.Task.t4' в папках ['C: \ Development \ MVCPLTaskmanager \ MvcApplication1 \ packages \ T4Scaffolding.1
.0.2 \ инструменты \ EFDbContext ']
В строке: 1 символ: 23
+ param ($ c, $ a) возврат. <<<< $ c @a
+ CategoryInfo: NotSpecified: (:) [Find-ScaffolderTemplate], исключение
+ FullyQualifiedErrorId: T4Scaffolding.Cmdlets.FindScaffolderTemplateCmdlet </p>
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 $ Project
+ CategoryInfo: NotSpecified: (:) [Get-ProjectType], InvalidOperationException
+ FullyQualifiedErrorId: T4Scaffolding.Cmdlets.GetProjectTypeCmdlet </p>
Invoke-Scaffolder: создал контекст базы данных TasksDbContext, но не смог найти его как элемент проекта
В C: \ Development \ MVCPLTaskmanager \ MvcApplication1 \ packages \ MvcScaffolding.1.0.2 \ tools \ Controller \ MvcScaffolding.Controller.ps1: 71 char: 40
+1
t -CodeLanguage $ CodeLanguage -BlockUi
+ CategoryInfo: Не указано: (:) [Invoke-Scaffolder], RuntimeException
+ FullyQualifiedErrorId: T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet
ОТВЕТ
Оказывается, что пространство имен моей модели должно совпадать с проектом MVC. Как только я изменил пространство имен, строительные леса сработали.