0

Visual Studio Web アプリケーション プロジェクトでは、ファイル プロパティ ウィンドウで設定されたカスタム ツール情報が、ファイルごとに CSPROJ プロジェクト ファイルに保存されます。

Visual Studio Web サイト プロジェクトには、プロジェクト ファイルはなく、いくつかのグローバル構成を持つ SLN ファイルのみがあります。私が知る限り、ここにはファイル固有の情報は保存されていません。これが Web サイト プロジェクト タイプの要点です。

通常の T4 テキスト テンプレートと前処理された (ランタイム) T4 テキスト テンプレートの両方を Web サイト プロジェクトに追加することはできますが、ファイル プロパティ ウィンドウからカスタム ツールを構成することはできません。それにもかかわらず、Visual Studio は、どのテンプレートがどのタイプであるかを認識し、記憶しています。つまり、通常のテンプレートには 'TextTemplatingFileGenerator' を使用し、前処理されたテンプレートには 'TextTemplatingFilePreprocessor' を使用し、生成された出力は問題ありません。

これは、Visual Studio 2010 および 2012 の新しい Web サイト プロジェクトでは機能しますが、Web アプリケーションから Web サイトに手動で変換された手元の Web サイト プロジェクトでは機能しません。このプロジェクトで前処理されたすべての T4 テキスト テンプレートは、'TextTemplatingFileGenerator' で自動的に処理されており、これを変更する方法はないようです。もちろん、テンプレートがクラッシュし、クラスが欠落しているため、後でプロジェクトをビルドできません。

では、Visual Studio は Web サイト プロジェクトの T4 テンプレートのカスタム ツール情報をどのように管理するのでしょうか?

[新しい項目の追加] ダイアログにプリコンパイル済みのテキスト テンプレート オプションがない場合、Web サイト プロジェクトではカスタム ツールがまったくサポートされていないと言えます。ただし、テキスト テンプレートは存在し、状況によっては正常に機能します。

4

2 に答える 2

0

テンプレートを Web プロジェクトから移動し、プロジェクト ファイルが常に存在し、Web の種類に関係なく適切に機能するライブラリ プロジェクトにテンプレートを移動することを妨げるものは何もないことに気付くまでに、しばらく時間が必要だったようです。私の問題を解決するプロジェクト。

ただし、コンパイル済みの T4 テキスト テンプレートが Web ページ タイプのプロジェクトでどのように機能するのかはまだわかりません。詳細を知っている場合は、これを自由に拡張してください。

于 2013-04-25T10:12:21.437 に答える
0

項目テンプレートのカスタム ウィザード DLL は、新しい項目の追加を実行すると、前処理された項目を設定します。フォールバックとして、プロジェクトは次のレジストリ キーを使用して通常のテンプレートをセットアップします。

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Projects\{E24C65DC-7377-472b-9ABA-BC803B73C61A}\FileExtensions\.tt\CustomTool

前処理されたテンプレートしかない場合は、これを次TextTemplatingFilePreprocessorのように変更できます。TextTemplatingFileGenerator

それ以外の場合は、新しいアイテムの追加ダイアログから一連のファイルを再度追加し、コンテンツをコピーすると機能するはずです。

于 2013-05-21T02:45:58.297 に答える