1

我在我的项目中安装了 MvcMailer 包。所以我试图做脚手架,但它没有用。我用谷歌搜索了这个。我得到了我应该安装 T4Scaffolding 和 MvcScaffolding 的建议

我这样做并重新启动了我的视觉工作室。但不幸的是,当我从某个包开始我的项目时,不能很好地加载。脚手架包。好像有冲突。

错误信息如下

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\T4Scaffolding.Core.1.0.0\tools\init.ps1:50 char:9
+         Set-DefaultScaffolder -Name CustomTemplate -Scaffolder T4Scaffolding.Cus ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\T4Scaffolding.Core.1.0.0\tools\init.ps1:51 char:9
+         Set-DefaultScaffolder -Name CustomScaffolder -Scaffolder T4Scaffolding.C ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\T4Scaffolding.1.0.8\tools\init.ps1:6 char:1
+ Set-DefaultScaffolder -Name DbContext -Scaffolder T4Scaffolding.EFDbContext -Sol ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\T4Scaffolding.1.0.8\tools\init.ps1:7 char:1
+ Set-DefaultScaffolder -Name Repository -Scaffolder T4Scaffolding.EFRepository -S ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\MvcScaffolding.1.0.9\tools\init.ps1:47 char:1
+ Set-DefaultScaffolder -Name Controller -Scaffolder MvcScaffolding.Controller -So ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\MvcScaffolding.1.0.9\tools\init.ps1:48 char:1
+ Set-DefaultScaffolder -Name Views -Scaffolder MvcScaffolding.Views -SolutionWide ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\MvcScaffolding.1.0.9\tools\init.ps1:49 char:1
+ Set-DefaultScaffolder -Name Action -Scaffolder MvcScaffolding.Action -SolutionWi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\MvcScaffolding.1.0.9\tools\init.ps1:50 char:1
+ Set-DefaultScaffolder -Name UnitTest -Scaffolder MvcScaffolding.ActionUnitTest - ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\Users\sk\Documents\Visual Studio 2013\Projects\LiveChatPrototype\packages\MvcScaffolding.1.0.9\tools\init.ps1:54 char:1
+ Set-DefaultScaffolder -Name View -Scaffolder $viewScaffolder -SolutionWide -DoNo ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
    + FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

PM> 
4

3 回答 3

1

我遇到了同样的问题,我可以通过以下步骤让它工作:

  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:12:03.483 回答
1

我知道这是不久前发布的,但是,我在使用 MvcScaffolding 时在 VS2015 中遇到了同样的错误。实际的错误在于 T4Scaffolding.Core 包。我提取了源代码,修复了错误,并上传了带有链接依赖项的新 NuGet 包。3个新包是:

首先卸载 MvcScaffolding 及其依赖项、T4Scaffolding 和 T4Scaffolding.Core。如果您然后简单地安装MvcScaffolding包,其他包将被拉出。希望这对其他人有帮助。如果这可以解决您的问题,请标记为已回答。

干杯。

于 2015-09-28T16:31:50.873 回答
0

第一次运行

  1. 卸载包 MvcScaffolding -RemoveDependencies
  2. 关闭 VSTD 并删除包文件夹(如果您有恢复丢失的包)
  3. 重新打开项目
  4. 安装包 MvcScaffolding -Version 1.0.8-vs2013 -Pre(如果您有 VSTD 2013)

然后让我们使用脚手架控制器 MyModel -Repository(天哪,它正在工作)

于 2016-02-06T16:39:59.397 回答