Подтвердить что ты не робот

Ошибка строительных лесов с MvcMailer в MVC 4

Я пытаюсь получить MvcMailer, работая в новом проекте бета-версии MVC 4 (созданный только для этого), используя последняя версия NuGet.

Я перехожу к шагу

PM > Подчиненный почтовый ящик UserMailer Добро пожаловать, PasswordReset

В какой момент я вижу сообщение об ошибке:

Не удается разрешить псевдоним "Леса", потому что он относится к термину "Invoke-Scaffolder", который не распознается как командлет, функция, оперативной программы или файла script. Проверьте этот термин и повторите попытку. В строка: 1 char: 9 + Леса < < Mailer UserMailer Добро пожаловать, PasswordReset     + CategoryInfo: ObjectNotFound: (Scaffold: String) [], CommandNotFoundException     + FullyQualifiedErrorId: AliasNotResolvedException

Обновить. После установки MvcScaffolding (это не было предварительное условие NuGet...) сообщение об ошибке для той же команды изменилось на:

Invoke-Scaffolder: не может быть найден позиционный параметр, который принимает аргумент 'UserMailer'. На линии: 1 char: 9 + Леса < < Mailer UserMailer Добро пожаловать, PasswordReset     + CategoryInfo: InvalidArgument: (:) [Invoke-Scaffolder], ParameterBindingException     + FullyQualifiedErrorId: PositionalParameterNotFound, T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet

Как я могу решить эту проблему?

4b9b3361

Ответ 1

У меня была такая же проблема, чтобы исправить это. Я обновил пакеты лесов (T4 в один раз, T4 + MVCScaffolding на другом) и перезапустил VS.

update-package T4Scaffolding

и/или

Update-Package MvcScaffolding

не забудьте перезапустить VS после.

Ответ 2

Ответ Segev правильный, насколько исходный вопрос идет.

Оказывается, команда scaffolding также изменилась, вызывая последующую ошибку. Правильная команда лесов:

Scaffold Mailer.Razor UserMailer Добро пожаловать, PasswordReset

С

https://github.com/smsohan/MvcMailer/issues/37

Ответ 3

У меня были похожие проблемы. Причина в том, что после обновления T4Scaffolding я проигнорировал следующее приглашение:

В этом экземпляре Visual Studio уже запущена другая версия T4Scaffolding Перезапустите Visual Studio, чтобы избежать неожиданного поведения. Вы не сможете использовать строительные леса, пока не перезапустите Visual Studio.

Было абсолютно необходимо перезапустить Visual Studio, тогда все прошло гладко.

Ответ 4

У меня возникли проблемы с обновлением пакета T4Scaffolding. Это потому, что у меня было две папки T4Scaffolding в папке "Пакеты" (T4Scaffolding.1.0.6 и T4Scaffolding.1.0.7). Я переименовал 1.0.6 в _T4Scaffolding1.0.6, и после этого все хорошо сработало.

Ответ 5

Что сработало для меня, так это:

  • Отключите MvcMailer.
  • Отключите MvcScaffolding и T4Scaffolding.
  • Задайте правильный проект по умолчанию в консоли диспетчера пакетов.
  • Запустите это из команды Install-Package MvcScaffolding -Version 1.0.8-vs2013 -Pre, как упоминал сам Скотт здесь.
  • Установите MvcMailer через Nuget.
  • Запустите эту команду Scaffold Mailer.Razor UserMailer Добро пожаловать, PasswordReset

Ответ 6

Любой, кто все еще получает эту проблему после того, как пробовал все выше

Вам необходимо установить Windows Management Framework 3.0 (http://www.microsoft.com/en-us/download/confirmation.aspx?id=34595)

T4Scaffolding.DLL ищет System.Management.Automation, Version = 3.0.0.0

Я больше не делал ошибок для лесов.

Ответ 7

Я тоже получил эту ошибку. "Invoke-Scaffolder: не может быть найден позиционный параметр, который принимает аргумент..." Для меня просто закрытие VS12 и повторное открытие фиксировали его. Странно.