2

別のアセンブリにある別のテンプレートから継承するT4テンプレートを作成しようとしています。問題は、TextTemplatingFileGeneratorカスタムツールを使用した場合(テンプレートディレクティブのvisibilityプロパティもtrueに設定されている場合)、参照されるアセンブリのT4テンプレートが生成されないことですが、TextTemplatingFilePreprocessorカスタムツールを使用した場合に限ります。

私はそれを間違った方法で使用していますか?代わりに別の手法を使用する必要がありますか(含める、またはここで提案されているようなもの)?

アップデート

コメントで要求されたシナリオに関するいくつかの詳細:私の会社では、オブジェクト間(通常はデータベースエンティティからDTOへ、またはその逆)のコンバーター/マッパーを生成するための再利用可能なフレームワークが必要です。

フレームワークが内部で行うことを隠し、通常、特にコレクションで実行時例外が発生することにうんざりしています。

リフレクションを介して別のアセンブリからオブジェクトの定義を取得し、マッピング拡張メソッドを使用して静的クラスを生成するデータマッピングプロジェクトで再利用されるテンプレートを定義したいと思います。

ありがとうフランチェスコ

4

1 に答える 1

2

テンプレートを最初のアセンブリでスタンドアロンテンプレートとして使用し、2番目のアセンブリで継承する場合は、最初のアセンブリで2つのテンプレートを作成するのが最適です。

最初のテンプレートには、TextTemplatingFileGeneratorを使用して、実際のテンプレートテキストを含めます。2番目のテンプレートには、TextTemplatingFilePreprocessorを使用し、コンテンツを単一の<#@ include#>ディレクティブにして、最初のテンプレートファイルをインクルードします。

于 2012-09-17T21:41:35.517 に答える