ASP.NET MVC 3 - Ошибка при добавлении нового контроллера с использованием шаблона MvcScaffolding - PullRequest
0 голосов
/ 16 мая 2011

Я пытаюсь добавить новый контроллер с указанным шаблоном:

MvcScaffolding: Контроллер с действием чтения / записи и представлениями с использованием репозиториев

Это работало в предыдущем проекте, но теперь я получаю следующий вывод из диспетчера пакетов:

Scaffolding SubjectsController...
LibraryContext already has a member called 'Subjects'. Skipping...
Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\T4Scaffolding.1.0.0\tools\EFRepository\T4Scaffolding.EFRepository.ps1:47 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template Repository -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\Controller\MvcScaffolding.Controller.ps1:106 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $templateName -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\RazorView\MvcScaffolding.RazorView.ps1:49 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $Template -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\RazorView\MvcScaffolding.RazorView.ps1:49 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $Template -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\RazorView\MvcScaffolding.RazorView.ps1:49 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $Template -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\RazorView\MvcScaffolding.RazorView.ps1:49 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $Template -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\RazorView\MvcScaffolding.RazorView.ps1:49 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $Template -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Add-ProjectItemViaTemplate : The term 'Find-ScaffolderTemplate' resolved to a cmdlet name that is ambiguous. Possible m
atches include: T4Scaffolding\Find-ScaffolderTemplate T4Scaffolding\Find-ScaffolderTemplate.
At C:\Development\packages\MvcScaffolding.1.0.0\tools\RazorView\MvcScaffolding.RazorView.ps1:49 char:27
+ Add-ProjectItemViaTemplate <<<<  $outputPath -Template $Template -Model @{
    + CategoryInfo          : NotSpecified: (:) [Add-ProjectItemViaTemplate], CommandNotFoundException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.AddProjectItemViaTemplateCmdlet

Есть идеи о том, что происходит?

1 Ответ

0 голосов
/ 28 октября 2011

Когда вы устанавливаете пакет T4Scaffolding, он регистрирует свои сборки и содержит командлеты в хосте powershell.По какой-то причине он может загрузить пакет T4Scaffolding из двух разных расположений, и вы получаете сообщение «разрешено с неоднозначным именем командлета», поскольку powershell не может решить, какой командлет пакета выполнить.Как я вижу, вы выполняете шаблон из "C: \ Development \ packages \ MvcScaffolding.1.0.0 \ tools \ RazorView \ MvcScaffolding.RazorView.ps1", который выглядит как глобальный пакет, и если у вас локально установлен MvcsScaffolding в вашем решении - (SolutionFolder) \ packages \ MvcScaffolding.1.0.0 powershell может загружать оба пакета.

Если вы генерируете контроллер из Visual Studio -> Проект -> правая кнопка -> Создать контроллер, он будет работать, так как подключаемый модуль Visual Studio для генерации контроллера не использует команды powershell T4Scaffolding.

...