13

現在、私はフレームワークを開発しています。Visual Studio メニューにカスタム scaffolding オプションを追加したいと考えています。

カスタム足場オプション

デフォルトでは、ダイアログボックスの「エンティティフレームワークを使用したビュー付きのMVC5コントローラー」オプション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"

視覚化

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

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

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

4

1 に答える 1

8

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

アップデート

チームの David Fowler は現在 (2015 年 4 月 29 日)、Single File Generators が MVC6 でサポートされることを確認しました。これにより、T4 のサポートが可能になります。

更新 2

スキャフォールディングにカスタム コード テンプレートを使用するというトピックに関する元の質問に戻ると、これは MVC6 および Visual Studio 2015 では確定されていません。

上記の ASP.Net GitHub イシュー トラッカー スレッドでこの質問を提起しました。Sayed Ibrahim Hashimi (MSFT) は、どのテクノロジと実装に従うかについて議論が行われる予定であると回答しました。現時点では、主な候補は T4 または Razor generator です。

Sayed 氏は、いくつかの初期の考えを示す次の記事を指摘しましたが、これは最終決定されたものではなく、変更される可能性が高いため、このアプローチに時間をかけるべきではないと強調しています。

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

于 2015-04-27T14:31:04.043 に答える