【问题标题】:Error Scaffolding with MvcMailer in MVC 4MVC 4 中的 MvcMailer 脚手架错误
【发布时间】:2012-04-20 07:12:39
【问题描述】:

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

我开始了

PM> Scaffold Mailer UserMailer Welcome,PasswordReset

此时我看到了错误消息:

无法解析别名“Scaffold”,因为它指的是术语 'Invoke-Scaffolder',不被识别为 cmdlet、函数、 可运行的程序或脚本文件。验证术语并重试。在 行:1 字符:9 + Scaffold

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

Invoke-Scaffolder:找不到位置参数 接受参数'UserMailer'。在行:1 字符:9 + Scaffold

我该如何解决这个问题?

【问题讨论】:

  • 我在 MVC 3 中也遇到了这个问题

标签: mvcmailer


【解决方案1】:

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

update-package T4Scaffolding

和/或

Update-Package MvcScaffolding

之后记得重启VS。

【讨论】:

  • 我在安装 MvcScaffolding 后走得更远(它没有安装......我在文档中错过了它吗?当然不是 NuGet 先决条件),但现在收到错误 Invoke-Scaffolder : A positional parameter cannot be found that accepts argument 'UserMailer'. 有什么想法吗?
  • 没关系,找到后续问题(见我的单独回答)。
  • 在意识到您是同一个人之前,我正要向您推荐 Eric 的回复 :) .... 在您发表评论后,我再次查看了我的代码并意识到我已将 Razor 设置为我的默认值脚手架,我想我忘了提到它..道歉。
  • 另请参阅 MvcMailer 站点上的问题以进行进一步讨论:github.com/smsohan/MvcMailer/issues/33
  • 更新 T4Scaffolding 和安装 MvcScaffolding 对我有用
【解决方案2】:

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

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

Scaffold Mailer.Razor UserMailer Welcome,PasswordReset

来自

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

【讨论】:

    【解决方案3】:

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

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

    重启 Visual Studio 至关重要,然后一切顺利。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

        对我有用的是:

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

        【讨论】:

        • 这是我让它在 Windows 8.1 Visual Studio 2013 上运行的唯一方法。并且您必须以管理员身份运行 VS。正如我发现的,你不能在 Win 8.1 中关闭 UAC 以避免“以管理员身份运行”。
        • 是的,这确实是在 Windows 8.1 和 VS 2013 上也适用于我的唯一方法。非常感谢您的帮助,因为我尝试了几乎所有的可能性,但没有任何效果。
        【解决方案6】:

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

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

        我只是不再犯脚手架错误。

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-01-22
            • 2023-01-04
            • 1970-01-01
            • 1970-01-01
            • 2011-10-30
            • 1970-01-01
            • 2016-10-10
            • 1970-01-01
            相关资源
            最近更新 更多