8

xml ファイルからクラスを生成する T4 テンプレートがあります。

xml ファイルとテンプレート ファイルの間に依存関係を追加して、xml ファイルが変更されたときに、コンテキスト メニューから [カスタム ツールの実行] を選択せず​​にテンプレートが自動的に再実行されるようにするにはどうすればよいですか?

4

4 に答える 4

4

T4 が外部依存関係に基づく自動テンプレート変換をサポートしているとは思えません。Marc に同意します。外部ファイルが 1 つしかない場合は、XML ファイル用のカスタム「カスタム ツール」を作成するか、単にttxgenを使用できます。ただし、このアプローチが t4 テンプレートが複数のファイルに依存するシナリオにスケールアップするとは思いません。これを処理するには、Visual Studio パッケージを作成する必要がある場合があります。

于 2008-12-29T19:28:35.963 に答える
3

ツールの実行にかかる時間は? 怠惰なオプションの 1 つは、ビルド中に (おそらくまたはカスタムファイルを介して)常にツールを実行するように csproj を編集することです。もちろん、これは実行が速いかどうかに依存します。<Exec ... />targets

別の方法は、VS で「カスタム ツール」として機能するシムを作成し、既存の exe (または何でも) を適切な引数で呼び出すだけです。些細なことではありませんが、実行可能です(ここを参照)-これは、おそらく変更検出でかなりうまく機能すると思います。それは実際、現在のプロジェクトでやるべきことのリストに載っているので、すぐにわかります...

于 2008-11-11T13:09:59.130 に答える
1

AutoTT Visual Studio 拡張機能を使用できます。

この拡張機能により、T4 テンプレートを実行するトリガーを構成できます。

考えられるトリガーの 1 つは、ファイルの変更です。AutoTT ページのサンプル構成ファイルでは、トリガーの正規表現は指定されたフォルダー (Controllers、Content) 内のすべてのファイルに一致しますが、特定のファイルのみで実行されるように変更できます。

Chirpyは、これを行うための別のオプションです。また、別の方法で行うT4 Regeneratorもあります。

于 2013-06-05T12:19:02.240 に答える
-1

<#@ xsdを使ってみましたか?

于 2008-11-11T15:38:02.917 に答える