問題タブ [t4-toolbox]

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 に答える
9338 参照

visual-studio-2010 - T4コンパイル変換:タイプまたは名前空間名'テンプレート'が見つかりませんでした

テンプレートT4を使用してXamlファイルを生成し、このように再利用可能なファイルXaml.ttを定義しようとしています。

しかし、エラーがあります。テンプレートの名前空間が見つかりませんでした。誰もがそれについて考えていますか?それでも同じエラー!! イライラ!!

エラー:T4コンパイル変換:タイプまたは名前空間名'テンプレート'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)

Generatorでも同じエラーが発生します。

これらのファイルは、新しいアイテムのコード生成>テンプレートを追加して作成しました

Xamlファイルを作成する方法

ファイルのデフォルトの構造は、まだテンプレートを認識していません。

アセンブリ参照またはディレクティブがありませんか?

ところで、私はT4Toolboxも使用しています

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

t4 - T4 ツールボックスをインストールせずに VolatileAssembly ディレクティブを使用する

T4 Toolbox から使用VolatileAssemblyしたいのですが、すべての開発者に T4 Toolbox のインストールを要求したくありません。

DLL をプロジェクトと共にソース管理に含め、パスで参照することは可能ですか?

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

c# - T4 テンプレート - あるアプリケーション ドメインから別のアプリケーション ドメインへの Visual Studio 2010 のソリューション エクスプローラーの更新

新しく作成されたファイルがネストされていることを確認できるように、ソリューション エクスプローラーのツール ウィンドウを更新しようとしています。T4 テンプレートは 1 つのアプリケーション ドメインで実行され、呼び出しはリモート処理を使用して Visual Studio Appdomain に対して行われることを知っています。シリアル化に関するこのエラーが発生しています。ソリューション エクスプローラー ツール ウィンドウ (solExplorer.Parent) を最初にアクティブ化して更新する方法はありますか (私は言われました)。

アセンブリ 'Microsoft.VisualStudio.Platform.WindowManagement, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' の 'Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowBase' と入力すると、シリアル化可能としてマークされません。

更新:ゲレスのコメントに基づいています。
ありがとう、Gereth 私はこれを試しましたが、COMException を返します
。Microsoft.VisualStudio.Platform.WindowManagement.DTE.WindowBase クラスのシリアル化に関するエラーはなく、Activate メソッドは成功したようです。 エラーは現在 dte.ExecuteCommand メソッドにあります。

次の行を実行すると発生する COMException:

メッセージ「COM コンポーネントへの呼び出しからエラー HRESULT E_FAIL が返されました。」
ソース "EnvDTE80"
StackTrace " at EnvDTE80.DTE2.ExecuteCommand(String CommandName, String CommandArgs)
ErrorCode -2147467259

次に何を試しますか?

ありがとうラド

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

t4 - VS2008でT4カスタムツールTextTemplatingFileGeneratorを直接呼び出すことは可能です。たとえば、アドインを使用します。

アドインを使用するなど、VS2008でT4カスタムツールTextTemplatingFileGeneratorを直接呼び出すことができるかどうかを知りたいです。

私が持っているのは、ソリューションにメタデータ(xml)ファイルがある場合です。T4テンプレートはこれらのファイルを読み取り、メタデータファイルと同じフォルダーにC#クラスファイルを生成します。

現在、T4テンプレートでソリューションをスキャンして、特定の拡張子を検索し、ファイルを作成しています。メタデータファイルパスを使用してテンプレートを呼び出すアドインを実行できると便利です。生成されたファイルをプロジェクトに追加するために、VSホストを非常に広範囲に使用していることに注意してください。

アドイン内から直接TextTemplatingFileGeneratorを呼び出すことができるかどうか、そしてそれによって私が望むことを達成できるかどうか疑問に思いました。

また、T4toolboxを使用していることも考慮に入れてください。

よろしく、イリアス

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

visual-studio - T4 テンプレートを使用した Visual Studio アイテム テンプレート

ソリューションにアイテムを追加しながら T4 テンプレートを実行することにより、ソリューションにアイテム (カスタム .aspx ページなど) を生成する Visual Studio アイテム テンプレートを作成したいと考えています。次の投稿を読みました: T4 テンプレートと Visual Studio アイテム テンプレート

GAXを使わずにこれを実装することは可能ですか? 標準のプロジェクト アイテム テンプレートと、GAX を必要としない T4 テンプレートのみを使用して開始したいと考えています。

提案してください、

ありがとう、

マユール

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

visual-studio - VS 拡張機能でのテキスト変換の呼び出し

ソリューションにアイテムを追加しながら T4 テンプレートを実行することにより、ソリューションにアイテム (カスタム .aspx ページなど) を生成する Visual Studio アイテム テンプレートを作成したいと考えています。このために、私はこのリンクを使用しています:http://msdn.microsoft.com/en-us/library/gg586947.aspx 上記のリンクのコードに記載されているサービスプロバイダーを取得する方法を教えてください。これを解決するために私は書いた:

EnvDTE.DTE dte = (EnvDTE.DTE)Package.GetGlobalService(typeof(EnvDTE.DTE)); // サービス プロバイダーを取得します。これを行う方法はコンテキストによって異なります。

IServiceProvider serviceProvider = new Microsoft.VisualStudio.Shell.ServiceProvider(dte as Microsoft.VisualStudio.OLE.Interop.IServiceProvider);

しかし、変数dteがnullのままであるため、引数のnull例外エラーが発生します。なぜヌルなのですか?自分のやり方が正しいのか間違っているのかわかりません。先に進むことができるように、上記のリンクのコードで指定されたサービスプロバイダーを実装する方法を提案してください。可能であれば、コード例を教えてください。

提案してください、

ありがとう、マユル

0 投票する
0 に答える
2048 参照

build - T4ToolBoxを使用したビルドに.ttを適用する

私のソリューションには長い間.ttファイルがいくつかあります。最近、csprojに追加して、ビルド時にトランスフォーメーションを起動することにしました。

同じソリューションの別のプロジェクトからの2番目の.ttファイル(Second.tt)を含む最初の.ttファイル(First.tt)があります。

Second.ttには、T4Toolbox.ttを含めます。

右クリック->カスタムツールの実行を使用してFirst.ttを起動すると、すべて問題ありません。しかし、ソリューションを再構築すると、次のエラーが発生 します:ファイルのインクルードテキストを解決できませんでした:E:\ Dev \ MySolution \ FirstProject .. \ SecondProject \ T4Toolbox.tt

だから私はT4ToolBox.ttのインストールパスを使用しようとします:

しかし、別のエラーが発生しました。 「dte」という名前のディレクティブに対して「T4Toolbox.DteProcessor」という名前のプロセッサが見つかりませんでした。

誰かが助けることができれば、それは素晴らしいことです!

編集:私は成功していませんが、それは良いです。Second.ttのルートパスを削除し、FirstProjectのcsprojに次の行を追加しました。

ビルドしようとすると、dteプロセッサが見つかりましたが、それでもエラーが発生します。変換コードの実行中に例外がスローされました。プロセスを続行できません。次の例外がスローされました。

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

visual-studio-2010 - T4 を使用して指定されたテキスト ブロックを更新する

T4 テンプレートと T4 ツールボックスを使用してテキストを生成しています。

地域に基づいて部分的な更新を行いたいと思います。たとえば、最初のパスではすべてが生成されますが、ファイルが再度更新されると、$regions 内のコード ブロックのみが更新されます。$regions のそれぞれには、個別の名前があります。

これをどのように実装できるかについての提案を探しています。

1 つの方法は、生成されたコード領域以外のすべてを取り除くカスタム プリプロセッサを使用することです。もう 1 つの方法は、生成されたコード領域が見つかったときに T4 プロセッサのバッファをフラッシュし、領域の終わりが見つかったときに、T4 プロセッサが解析した領域に対応する生成されたファイルの領域内のテキストを置き換えることです。

仮定

  • 生成されたコード領域には、解析する必要があるブロックが含まれていません
  • 生成された各テキスト領域には個別の名前があります

単純な例

注:この質問はこの質問と似ていますが、適切な回答が提供されていません。「できない」ではなく、実行可能な解決策を探しています。

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

c# - T4Toolboxファイル拡張子は生成されません

csファイルの生成にT4ツールボックスを使用しています。しかし、結果として正しいC#ファイルが生成されますが、拡張子はありません。何が問題なの?

0 投票する
0 に答える
247 参照

c# - T4 テンプレートがデザイナー ファイルを作成するときに大きな遅延が発生するのはなぜですか?

Visual Studio 2012 内のT4 ToolboxでT4 テンプレートを使用して、約 100 個のファイルを生成し、それらをプロジェクトに追加しています。2 つのテンプレートがあり、1 つは.csファイルを出力し、もう 1 つは対応する.designer.csを出力します。このように名前を付ける<DependentUpon>と、.csproj ファイルでプロパティが自動的に割り当てられるようです。(これは VS2012 の機能ですか? それとも T4Toolbox ですか?)

生成自体は数秒しかかかりません。ただし、この間に Visual Studio が CPU を占有する約 3 分間の長い一時停止があります。この長い一時停止を回避する方法はありますか?

私のテンプレートは次のようになります

拡張子.designer.csを別のものに変更すると、スクリプトの実行後に遅延は発生しませんが、<DependentUpon>タグが見つからないため、ソリューション エクスプローラーでファイルが分離され、右クリックしても[デザイナーで表示] オプションを使用できません。 .