10

Visual Studio の以前のバージョンで正常に使用されていた T4 スキャフォールディング テンプレートのライブラリを作成しましたが、プロジェクトを VS 2015 にアップグレードしたため、「パッケージ マネージャー コンソール」を開くと次のエラーが表示されます。

Set-DefaultScaffolder : Cannot get an instance of EnvDTE.DTE
At C:\MyPath\packages\T4Scaffolding.1.0.8\tools\init.ps1:7 char:1
+ Set-DefaultScaffolder -Name Repository -Scaffolder T4Scaffolding.EFRe    ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Set-DefaultScaffolder], InvalidOperationException
+ FullyQualifiedErrorId : T4Scaffolding.Cmdlets.SetDefaultScaffolderCmdlet

EnvDTE.DTEそのままではサポートされなくなったようですか?

この問題を解決する方法はありますか、または既存の T4 テンプレート ファイルを実行できる VS 2015 の新しいメカニズムはありますか。

私のプロジェクトは正常にビルドおよび実行されます。

4

1 に答える 1

10

修正:

  1. 3 つのパッケージが既にインストールされている場合は、すべてアンインストールします。
  2. NuGet Package Manager で「MvcScaffolding.VS2015」を検索し、プロジェクトに追加します。
  3. Visual Studio を再起動すると、パッケージ マネージャー コンソールの起動時のエラーがなくなります。

ご参考までに、新しいパッケージは次の場所にあります。

MvcScaffoldingパッケージをインストールするだけで、他のパッケージがプルスルーされます。これがニックに役立つことを願っています。これで問題が解決した場合は、回答済みとしてマークしてください。

-------------------------------------------------- --------------------------------

追加情報: Steve Sanderson (T4Scaffolding / MVC Scaffolding の主な作成者の 1 人) からメールを受け取りました。

MvcScaffolding/T4Scaffolding は、数年前に ASP.NET のスキャフォールディング機能に取って代わられたため、サポートもメンテナンスもされていません。

参考までに、MvcScaffolding/T4Scaffolding のソースはhttps://mvcscaffolding.codeplex.com/にあります。

2 つのオプションがありました。

  1. 既存のスクリプトをAsp.Net スキャフォールディングに移植する
  2. MvcScaffolding と T4Scaffolding のソースを取得し、VS2013 以降で導入されたバグを修正します。
于 2015-08-19T08:32:41.460 に答える