我正在尝试让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
如何解决此问题?
答案 0 :(得分:22)
我遇到了同样的问题,为了解决这个问题,我更新了Scaffolding软件包(一次是T4,另一种是T4 + MVCScaffolding),然后重新启动了VS.
update-package T4Scaffolding
和/或
Update-Package MvcScaffolding
记得以后重启VS.
答案 1 :(得分:6)
就原始问题而言,Segev的答案是正确的。
事实证明,脚手架命令也发生了变化,导致了后续错误。正确的脚手架命令是:
Scaffold Mailer.Razor UserMailer欢迎,密码重置
这
答案 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)
对我有用的是:
答案 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并重新开启修复它。奇怪。