MVC 3 грешка на скелето при стартиране на контролера на скелето

Инсталирах MvcScaffolding без никакви проблеми, но когато се опитам да изпълня заявка за скеле, получавам грешката „DbContext.Task.t4“ не съществува заедно с други файлове, които липсват. Имам модел, наречен Task, за който мисля, че се отнася, но съм на загуба как да поправя тази грешка?

„Задача за контролер на скеле -Задача за тип модел -Име на контролер ЗадачиКонтролер -DbContextType ЗадачиDbContext“

Инсталационен пакет MvcScaffolding

  • PM> Инсталиране на пакет MvcScaffolding
  • Опит за разрешаване на зависимостта „T4Scaffolding (≥ 1.0.2)“.
  • Опит за разрешаване на зависимостта „EntityFramework (≥ 4.1.10311.0)“.
  • Успешно инсталиран „MvcScaffolding 1.0.2“.
  • Успешно добавено „MvcScaffolding 1.0.2“ към MvcApplication1.

Грешка

  • PM> Scaffold Controller Task -ModelType Task -ControllerName TasksController -DbContextType TasksDbContext

Контролер на задачи за скеле...

Find-ScaffolderTemplate: Не може да се намери шаблон „DbContext.Task.t4“ под папките ['C:\Development\MVCPLTaskmanager\MvcApplication1\packages\T4Scaffolding.1 .0.2\tools\EFDbContext'] На ред:1 char:23 + param ($c, $a) връщане. ‹‹‹‹ $c @a + CategoryInfo: NotSpecified: (:) [Find-ScaffolderTemplate], Изключение + FullyQualifiedErrorId: T4Scaffolding.Cmdlets.FindScaffolderTemplateCmdlet

Get-ProjectType: Не може да се намери тип, съответстващ на името „MvcApplication1.Models.TasksDbContext“. Опитайте се да посочите пълно квалифицирано име на тип, включително namesp ace. В 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

ОТГОВОР Оказва се, че пространството от имена на моя модел трябва да бъде същото като MVC проекта. След като промених пространството на имената, скелето проработи.


person Zaffiro    schedule 19.08.2011    source източник
comment
Можете ли да добавите отговора, който имате тук, като отговор по-долу и да го приемете? Този въпрос е маркиран като без отговор в търсенията.   -  person Chris Moschini    schedule 18.04.2013


Отговори (1)


Имах същия проблем, но се дължеше на грешки в класовете на модела, което ги накара да не се изградят. По този начин нямаше модел, съответстващ на името, което дадох на скелето, и се заключи, че не съм използвал правилното пространство на имената.

So...

  • Проверете кода си за грешки при изграждането
  • Уверете се, че пространството от имена на вашите модели е пространството от имена на вашето приложение
person seangwright    schedule 05.12.2013