2012-04-17 14 views
0

私は1つのプロジェクトでカスタムT4ディレクティブプロセッサを作成し、そして今、私は別のプロジェクトでT4テンプレートにプロセッサを使用したいが、私は次のエラーを受信して​​います:T4テンプレートでカスタムディレクティブを使用するにはどうすればよいですか?

The type ' MyNamespace.MyCustomDirectiveProcessor ' of the directive processor named ' MyCustomDirectiveProcessor ' does not derive from Microsoft.VisualStudio.TextTemplating.DirectiveProcessor . The transformation will not be run.

マイディレクティブプロセッサクラスです

using Microsoft.VisualStudio.TextTemplating; 

namespace MyNamespace 
{ 
    public class MyCustomDirectiveProcessor : DirectiveProcessor 
    { 
     // etc. 
    } 
} 

カスタムディレクティブを動作させるには、何が必要ですか?私はthis documentationのガイドラインに従って、ディレクティブプロセッサをレジストリに追加しました。私は私のディレクティブ・プロセッサー・クラスを定義したプロジェクトのポストビルド・ステップでこれを行い、プロジェクトが構築され、レジストリー・キーが追加されていることを確認しました。

答えて

1

少し掘り下げた後、私はこの問題を発見しました。私はMicrosoft.VisualStudio.TextTemplating.dllの古いバージョンを使用していたことがわかります。私が持っていたバージョンは8.1.0.0で、「参照の追加」ダイアログにリストされています。

Visual Studio 2008 SDK 1.0をインストールすると、新しいバージョンがあることがわかりました:9.0.0.0。 .DLLの新しいバージョンにリンクするプロジェクトをビルドしたとき、すべてがうまくいっていました。

これは、VS2008でもまだ貧弱な魂を救うのに役立ちます。

関連する問題