web-dev-qa-db-ja.com

ASP.NET MVC5カスタムスキャフォールディングオプション[t4テンプレート]

現在、フレームワークを開発しています。ビジュアルスタジオメニューにカスタムスキャフォールディングオプションを追加したいと思います。

Custom scaffolding option

デフォルトでは"MVC5 Controller with views、using Entity Framework"オプション3はダイアログボックスから"CodeTemplates\MvcControllerWithContext\Controller.cs.t4"を選択し、そのt4は再びビューをターゲットにします内部のt4テンプレート

  • "CodeTemplates\MvcView\ModelMetadataFunctions.cs.include.cs.t4"
  • "CodeTemplates\MvcView\Create.cs.t4"
  • "CodeTemplates\MvcView\Edit.cs.cs.t4"
  • 「CodeTemplates\MvcView\Delete.cs.cs.t4」
  • "CodeTemplates\MvcView\List.cs.cs.t4"

Visualization

私はほぼ1年にわたってt4テンプレートを変更してきましたが、それらのビューをどのようにターゲットにしているのか、またはスキャフォールディングダイアログにオプションを追加する方法を示唆する証拠は1つも見つかりませんでした。私はたくさんグーグルで検索しましたが、近くに何も見つかりませんでした。

要約すると、これらのt4テンプレートの場所を追加または変更し、[scaffolding]ダイアログボックスで新しいscaffoldの参照を追加できる場所のみを探しています

どんな答えでも大歓迎です。ありがとうございました。

13

T4を使用してフレームワークを実装し続ける前に、ASP.Net vNextチームがMVC6プロジェクトからT4のサポートを静かに削除したことを知っておく必要があります。そのため、その決定を逆にしない限り、フレームワークをアップグレードすることはできません。

Visual Studio 2015 CTP6の時点で、MVC6プロジェクトは、T4の要件であるシングルファイルジェネレーターをサポートしていません。 ASP.Net vNextチームによって提供された理由は、ASP.Netの公式GitHubリポジトリに記載されています。

https://github.com/aspnet/Home/issues/272

[〜#〜]更新[〜#〜]

チームのDavidFowlerは、現在(29-04-2015)、シングルファイルジェネレーターがMVC6でサポートされることを確認しました。これにより、T4のサポートが可能になります。

UPDATE 2

足場にカスタムコードテンプレートを使用するというトピックに関する元の質問に戻るために、これはMVC6およびVisual Studio2015では確定されていません。

上記のASP.NetGitHub課題追跡スレッドでこの質問を提起しました。 Ibrahim Hashimi(MSFT)は、どの技術と実装に従うかについていくつかの議論があると答えました。現時点では、主な候補はT4またはRazorジェネレーターです。

Sayedは、いくつかの初期の考えを示す次の記事を指摘しましたが、これは確定しておらず、変更される可能性があるため、人々はこのアプローチに時間を費やすべきではないことを強調します

http://blogs.msdn.com/b/webdev/archive/2014/08/23/how-to-customize-scaffolding-templates-for-asp-net-vnext.aspx

7
dmcquiggin