在MVC 4中使用MvcMailer进行错误脚手架

时间:2012-04-20 07:12:39

标签: mvcmailer

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

我进入了步骤

  

PM> Scaffold Mailer UserMailer欢迎,密码重置

此时我看到错误消息:

  

无法解析别名'Scaffold',因为它指的是术语   'Invoke-Scaffolder',它不被识别为cmdlet函数,   可操作程序或脚本文件。验证该术语,然后重试。在   line:1 char:9   +脚手架<<<< Mailer UserMailer欢迎,密码重置       + CategoryInfo:ObjectNotFound :( Scaffold:String)[],CommandNotFoundException       + FullyQualifiedErrorId:AliasNotResolvedException

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

  

Invoke-Scaffolder:无法找到位置参数   接受参数'UserMailer'。在行:1个字符:9   +脚手架<<<< Mailer UserMailer欢迎,密码重置       + CategoryInfo:InvalidArgument:(:) [Invoke-Scaffolder],ParameterBindingException       + FullyQualifiedErrorId:PositionalParameterNotFound,T4Scaffolding.Cmdlets.InvokeScaffolderCmdlet

如何解决此问题?

7 个答案:

答案 0 :(得分:22)

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

update-package T4Scaffolding

和/或

Update-Package MvcScaffolding

记得以后重启VS.

答案 1 :(得分:6)

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

事实证明,脚手架命令发生了变化,导致了后续错误。正确的脚手架命令是:

Scaffold Mailer.Razor UserMailer欢迎,密码重置

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

答案 2 :(得分:3)

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

  

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

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

答案 3 :(得分:3)

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

答案 4 :(得分:3)

对我有用的是:

  1. 卸载 MvcMailer
  2. 卸载 MvcScaffolding T4Scaffolding
  3. 在程序包管理器控制台中设置正确的默认项目。
  4. 从Scott自己here提到的命令 Install-Package MvcScaffolding -Version 1.0.8-vs2013 -Pre 运行此命令。
  5. 通过Nuget安装 MvcMailer
  6. 运行此命令 Scaffold Mailer.Razor UserMailer Welcome,PasswordReset

答案 5 :(得分:2)

任何在上述尝试之后仍然会遇到此问题的人

您需要安装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

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

答案 6 :(得分:0)

我也遇到了这个错误。 " Invoke-Scaffolder:无法找到接受参数的位置参数..." 对我来说,关闭VS12并重新开启修复它。奇怪。