2012-04-17 3 views
0

Я создал процессор пользовательской директивы T4 в одном проекте, и теперь я хочу, чтобы использовать процессор в шаблоне Т4 в другом проекте, но я получаю следующее сообщение об ошибке:Как использовать настраиваемую директиву в шаблоне 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!

Смежные вопросы