私はいくつかのかみそりヘルパーを書きました、そしてこれらのヘルパーはT4MVCによって生成された拡張メソッドを含む関数を使用します。これらをコントロールライブラリに移動して、複数のMVCアプリケーションで使用できるようにします。私が使用した最初のアイデアは、テンプレートのコピーをコントロールライブラリに配置できるというものでした。これは機能しますが、欠点は、アプリケーションで使用されるテンプレートが同じ名前空間で同じ拡張メソッドを再生成することです。ActionResultのインターフェイスを必要とする拡張機能の一部を使用しているため、名前空間を同じままにする必要があります。
私が疑問に思っているのは、コントロールライブラリとライブラリを参照するアプリケーションで拡張機能を使用する既知の方法があるか、または静的拡張機能メソッドを生成できるようにするために必要なテンプレートを変更することです。設定ファイルのフラグ?また、静的拡張機能を、テンプレートと一緒に存在する別のcsファイルに含めることができるかどうか疑問に思っています。T4ExtensionsとDynamicT4Extensionsの2つのクラスがありますか?
ただし、これにより、インターフェイスIT4MVCActionResultの使用が強制される可能性があります。