T4 Scaffoldingパッケージを使用してカスタム scaffolder を作成する手順に従いましたが、うまく機能しました。しかし、その過程で、複数の scaffolder とテンプレートで共有される再利用可能なコンポーネントを多数構築する必要があることがわかりました。
クラス ライブラリを構築して GAC に登録し、powershell スクリプトと T4 テンプレートからアクセスできるようにすることはできますが、チーム環境では常に可能とは限りません。再利用可能なコンポーネントをソース管理にチェックインし、何らかの形でアクセスできるようにしたいと考えています。
私がとったアプローチの 1 つは、T4 テンプレートを複数のファイルに分割しinclude
、それらすべてをマスター テンプレートに分割することでした。
<#@ include file="Extensions.cs.t4" #>
ただし、テンプレートのいずれかでクラスを定義すると、そのクラスはネストされたクラスになるため、静的にすることはできません (たとえば)。
再利用可能なクラス、メソッド、拡張機能を構築し、GAC にインストールせずにカスタム scaffolder にアクセスできるようにする方法はありますか? T4Scaffolding パッケージには、カスタム scaffolder でアクセスできる多数のユーティリティ関数があります。彼らはどのようにそれをしましたか?