xml ファイルからクラスを生成する T4 テンプレートがあります。
xml ファイルとテンプレート ファイルの間に依存関係を追加して、xml ファイルが変更されたときに、コンテキスト メニューから [カスタム ツールの実行] を選択せずにテンプレートが自動的に再実行されるようにするにはどうすればよいですか?
T4 が外部依存関係に基づく自動テンプレート変換をサポートしているとは思えません。Marc に同意します。外部ファイルが 1 つしかない場合は、XML ファイル用のカスタム「カスタム ツール」を作成するか、単にttxgenを使用できます。ただし、このアプローチが t4 テンプレートが複数のファイルに依存するシナリオにスケールアップするとは思いません。これを処理するには、Visual Studio パッケージを作成する必要がある場合があります。
ツールの実行にかかる時間は? 怠惰なオプションの 1 つは、ビルド中に (おそらくまたはカスタムファイルを介して)常にツールを実行するように csproj を編集することです。もちろん、これは実行が速いかどうかに依存します。<Exec ... />
targets
別の方法は、VS で「カスタム ツール」として機能するシムを作成し、既存の exe (または何でも) を適切な引数で呼び出すだけです。些細なことではありませんが、実行可能です(ここを参照)-これは、おそらく変更検出でかなりうまく機能すると思います。それは実際、現在のプロジェクトでやるべきことのリストに載っているので、すぐにわかります...
AutoTT Visual Studio 拡張機能を使用できます。
この拡張機能により、T4 テンプレートを実行するトリガーを構成できます。
考えられるトリガーの 1 つは、ファイルの変更です。AutoTT ページのサンプル構成ファイルでは、トリガーの正規表現は指定されたフォルダー (Controllers、Content) 内のすべてのファイルに一致しますが、特定のファイルのみで実行されるように変更できます。
Chirpyは、これを行うための別のオプションです。また、別の方法で行うT4 Regeneratorもあります。
<#@ xsdを使ってみましたか?