問題タブ [t4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
8601 参照

c# - C#からプログラムでT4を使用できますか?

私はC#コードを生成するソフトウェアを書いています。ほとんどの場合、 StringTemplateとStringBuilderを使用しています。

コードから直接T4テンプレートを使用する方法はありますか?

0 投票する
2 に答える
2350 参照

c# - XML ファイルが変更されたときに、Visual Studio 2008 で T4 テンプレートからコードを再生成するように強制するにはどうすればよいですか?

1 つの XML ファイルから大量のコードを生成していますが、テンプレートは 2 つの異なる T4 テンプレートに編成されています。XML ファイルを変更するときはいつでも、2 つのファイルを開き、*.tt簡単に変更 (スペースを追加または削除) し、再度保存して、コードが確実に生成されるようにする必要があります。

これは正しい方法ではありません。

理想的には、XML ファイルが変更された場合に、Visual Studio 2008 が T4 ファイルに対してテキスト変換を行うようにしたいと考えています。Visual Studio が C# プロジェクトをどのように構築するのかよくわからないので、少し迷っています。そのため、その方向へのポインターも役立ちます (その後、自分で理解しようとすることができます)。

0 投票する
22 に答える
69459 参照

visual-studio - VisualStudioにすべてのビルドでT4テンプレートを実行させる

ビルドごとに出力を生成するT4テンプレートを取得するにはどうすればよいですか?現在のように、テンプレートに変更を加えた場合にのみ再生成されます。

私はこれに似た他の質問を見つけました:

Visual StudioでのT4変換とビルド順序(未回答)

Visual Studioでビルドするt4ファイルを取得するにはどうすればよいですか?(回答は[まだ十分に複雑ですが]十分に詳細ではなく、完全に意味がありません)

これを行うには、もっと簡単な方法が必要です。

0 投票する
3 に答える
991 参照

asp.net-mvc - ASP.NETMVC用のSparkT4テンプレート

すぐに使用できるWebフォームビューテンプレート(作成、編集、詳細など)に一致する/類似するSparkT4テンプレートが既に存在するかどうかだけ知りたいと思いました。私のGoogleのスキルは、私を結果に導きませんでした。

0 投票する
1 に答える
1033 参照

c# - TextTransform.exe は古いバージョンの C# のみを受け入れるようです

Visual Studio 内で T4 テンプレートを展開すると、LINQ 式などを含む完全な C# 3.0 構文を使用できます。TextTransform.exe を使用して Visual Studio の外で展開すると、LINQ 式や C# 3.0 のその他の新機能について不平を言います。TextTransform.exe の新しいバージョンはありますか?

私が実行しているものは次のとおりです。

0 投票する
2 に答える
3019 参照

.net - T4MVC を使用した部分ビュー パスの指定

ASP.NET MVC プロジェクトで T4MVC を使用しています。

私の見解では、次のような声明があります。

以前は次のようでした。

以前は正常に動作していましたが、T4MVC を使用して部分ビューを指定した後、その部分ビューを見つけることができません。

デフォルトの動作である以下のパスでそれを見つけようとしています。

T4MVC を使用して、他のコントローラーのビュー フォルダーにある部分ビューを指定する方法はありますか? または私が何をしていても、それは正しいですか? 私は何が欠けていますか?

ありがとう。

0 投票する
2 に答える
1926 参照

c# - シンプルで実用的なC#コード生成(VS 2008または2010)

ビルドプロセスに複雑さが生じることを恐れて、ビルドプロセスの一部として生成されたコードの使用を延期しました。

ビルド時に生成されたコードをアプリに統合する簡単な方法はありますか?

私が考えているコードの種類は、VisualStudioが実行するリソースおよび設定ファイルのコード生成に似ています。

  • ここにインテリセンスがあることは価値があります
  • 説明するのは簡単ですが、C#で簡潔に実装することは不可能な多くのプロパティとプロパティ間のリンクがあります。
  • 基盤となるリソースは変更可能であり、ユーザーの操作やジェネレーターの内部を理解する必要なしに、コードが自動的に再生成されます。

(非現実的な)例として、同様の名前のC#プロパティ(またはメソッド)を介して正規表現の名前付きキャプチャグループへのアクセサーを生成したプリコンパイラーを考えてみます。これは私が生成したい種類のものの典型です:主な機能がエラーのコンパイル時チェックを可能にすることであるボイラープレートラッパーの長いスニペット(上記;存在しないキャプチャグループへのアクセスまたは書き込みと無効な正規表現)それほど重要ではありませんが、これらのプロパティのインテリセンス。最後に、この設定はチームの他のメンバーが簡単に使用できる必要があります最小限の学習曲線しかありません。つまり、コードを再生成するために手動の介入を要求することも、生成されたコードをソース管理にコミットすることも絶対に受け入れられません。最悪の場合、誰もが何らかの拡張機能をインストールする必要があります。理想的には、拡張機能はソースツリーにインストール可能である必要があります。これにより、ツリーをチェックアウトする人は誰でも、紹介なしでプロジェクトをビルドできます。

それがうまく機能するためには、IDE統合が優れていることが重要です。基になる「リソース」定義ファイルを更新すると 、ユーザーの操作なしでコードの再生成がトリガーされます。理想的には、ジェネレーター自体は、後で他の開発者が簡単に保守できるようになります。 (つまり、ある程度のジェネレーターのデバッグ機能はプラスです)。

最後に、同じテンプレートをさまざまな入力リソースに適用できるXSLTのようなアプローチが理想的です。これは、リソースを更新するだけの場合は実際のジェネレーターコードを確認する必要がないことと、テンプレートの再利用が簡単になることの両方を意味します。

T4を見てきましたが、これは、テンプレートとリソースが完全に分割されていない、あまり便利ではないASPのようなアプローチです(つまり、ジェネレーターがリソースの検索を担当します。これにより、テンプレートの再利用が容易になりません。 )。

同じテンプレートを簡単に再利用でき、(.NET設定ファイルのように)リソースを更新すると実装されたコードの再生成が自動的にトリガーされるような、より優れた(よりクリーンな)ソリューションまたはT4を実行する方法はありますか?

要約: 私はできるコード生成アプローチを探しています

  1. 基盤となるリソース(テンプレートではありません!)が変更されたときに、開発者の介入なしにコードを自動的に再生成します。
  2. メンテナンスがやや簡単
  3. 複数のリソース間で同じジェネレーターテンプレートを共有できるようにします(これは、ポイント#1では、リソースがジェネレーターを参照する必要があり、その逆ではないことを意味します)。
0 投票する
2 に答える
313 参照

asp.net - ビューの生成をトリガーする T4 コントローラー テンプレート

私は、生産性を大幅に向上させるカスタマイズされた MVC テンプレートをいくつか使用しています。しかし、私はそれを次のレベルに引き上げたいと考えています。

アプリ内のテーブルごとにコントローラー テンプレートを生成します。コントローラーには、編集、リスト、詳細、および削除のアクションがあります。私がやりたいことは、同時にそれらのアクションのビューの生成をトリガーすることです。

これをどのように行うことができるかについて、誰かが参考文献や提案を持っていますか?

0 投票する
1 に答える
276 参照

.net - T4 RequiresProvidesDirectiveProcessor クラスで使用される requires/provides デザイン パターンは何ですか?

Microsoft.VisualStudio.TextTemplating 名前空間の RequiresProvidesDirectiveProcessor クラスに関する MSDN ライブラリ ドキュメントでは、"requires/provides" と呼ばれるデザイン パターンを参照しています。このデザインパターンは何ですか?

" require/provides と呼ばれるデザイン パターンを定義および実装するディレクティブ プロセッサの抽象基本クラス。 " - MSDN ライブラリより

0 投票する
2 に答える
280 参照

subsonic - Web サイト プロジェクトで T4 テンプレートを使用する方法はありますか?

T4 テンプレートを Web サイト プロジェクトで使用できますか?

具体的には、Subsonic を Web サイト プロジェクトで使用できますか?

Web アプリケーション プロジェクトで .tt ファイルを実行できますが、Web サイト プロジェクトでは何も実行されません。実行するには、ソリューション/プロジェクト環境が必要だと思いますか?