12

我正在尝试使用最新版本的 NuGet 让MvcMailer在新的 MVC 4 Beta 项目中工作(仅为尝试此项目而创建)。

我走到这一步

PM> Scaffold Mailer UserMailer Welcome,PasswordReset

此时我看到错误消息:

无法解析别名“Scaffold”,因为它引用了术语“Invoke-Scaffolder”,该术语不能识别为 cmdlet、函数、可运行程序或脚本文件。验证术语并重试。在 line:1 char:9 + Scaffold <<<< Mailer UserMailer Welcome,PasswordReset + CategoryInfo : ObjectNotFound: (Scaffold:String) [], CommandNotFoundException + FullyQualifiedErrorId : AliasNotResolvedException

更新:安装 MvcScaffolding(不是 NuGet 先决条件...)后,同一命令的错误消息更改为:

Invoke-Scaffolder:找不到接受参数“UserMailer”的位置参数。在 line:1 char:9 + Scaffold <<<< Mailer UserMailer Welcome,PasswordReset + CategoryInfo : InvalidArgument: (:) [Invoke-Scaffolder], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet

我该如何解决这个问题?

4

7 回答 7

22

我遇到了同样的问题,为了解决这个问题,我更新了 Scaffolding 包(一次是 T4,另一次是 T4 + MVCScaffolding),然后重新启动了 VS。

update-package T4Scaffolding

和/或

Update-Package MvcScaffolding

记得之后重新启动VS。

于 2012-04-24T16:56:29.430 回答
6

就原始问题而言,Segev 的回答是正确的。

原来,脚手架命令发生了变化,导致了后续错误。正确的脚手架命令是:

Scaffold Mailer.Razor UserMailer Welcome,PasswordReset

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

于 2012-04-25T04:23:51.503 回答
3

我有类似的问题。原因是我在 T4Scaffolding 升级后忽略了以下提示:

不同版本的 T4Scaffolding 已在此 Visual Studio 实例中运行 请重新启动 Visual Studio 以避免出现意外行为。在重新启动 Visual Studio 之前,您将无法使用脚手架。

重新启动 Visual Studio 绝对至关重要,然后一切顺利进行。

于 2012-05-12T09:19:42.073 回答
3

我在更新 T4Scaffolding 包时遇到问题。这是因为我的 Packages 文件夹中有两个 T4Scaffolding 文件夹(T4Scaffolding.1.0.6 和 T4Scaffolding.1.0.7)。我将 1.0.6 重命名为 _T4Scaffolding1.0.6,之后一切正常。

于 2012-10-04T14:26:54.550 回答
3

对我有用的是:

  1. 卸载MvcMailer
  2. 卸载MvcScaffoldingT4Scaffolding
  3. 在包管理器控制台中设置正确的默认项目。
  4. 从命令Install-Package MvcScaffolding -Version 1.0.8-vs2013 -Pre运行此命令,正如 Scott 本人在此处提到的那样。
  5. 通过 Nuget安装MvcMailer
  6. 运行此命令Scaffold Mailer.Razor UserMailer Welcome,PasswordReset
于 2014-03-13T11:08:56.643 回答
2

尝试上述所有方法后仍然遇到此问题的任何人

您需要安装 Windows Management Framework 3.0 ( http://www.microsoft.com/en-us/download/confirmation.aspx?id=34595 )

T4Scaffolding.DLL 正在寻找 System.Management.Automation,版本=3.0.0.0

我只是没有更多的脚手架错误。

于 2014-04-11T15:28:28.897 回答
0

我也遇到了这个错误。“Invoke-Scaffolder:找不到接受参数的位置参数......”对我来说,只需关闭 VS12 并重新打开即可修复它。奇怪的。

于 2014-10-03T13:18:45.403 回答