Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 如何在T4模板中使用自定义指令?_Visual Studio 2008_.net 3.5_C# 3.0_T4 - Fatal编程技术网

Visual studio 2008 如何在T4模板中使用自定义指令?

Visual studio 2008 如何在T4模板中使用自定义指令?,visual-studio-2008,.net-3.5,c#-3.0,t4,Visual Studio 2008,.net 3.5,C# 3.0,T4,我在一个项目中创建了一个自定义T4指令处理器,现在我想在另一个项目的T4模板中使用该处理器,但收到以下错误: 指令的类型“MyNamespace.MyCustomDirectiveProcessor” 名为“MyCustomDirectiveProcessor”的处理器不是从 Microsoft.VisualStudio.TextTemplateing.DirectiveProcessor。这个 转换将不会运行 我的指令处理器类定义如下: using Microsoft.VisualStudio

我在一个项目中创建了一个自定义T4指令处理器,现在我想在另一个项目的T4模板中使用该处理器,但收到以下错误:

指令的类型“
MyNamespace.MyCustomDirectiveProcessor
” 名为“
MyCustomDirectiveProcessor
”的处理器不是从
Microsoft.VisualStudio.TextTemplateing.DirectiveProcessor
。这个 转换将不会运行

我的指令处理器类定义如下:

using Microsoft.VisualStudio.TextTemplating;

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

我需要做什么才能使自定义指令正常工作?我按照中的指导原则将指令处理器添加到注册表中。在项目的后期构建步骤中,我已经定义了我的指令处理器类,并且我已经确保了项目的构建和注册表项的添加。

在仔细研究之后,我发现了这个问题。原来我使用的是较旧版本的Microsoft.VisualStudio.TextTemplating.dll。我的版本是8.1.0.0,如添加参考对话框中所列

安装后,我看到有了一个新版本:9.0.0.0。当我建立项目链接到新版本的.DLL时,一切都进行得很顺利

希望这能帮助一些仍然在VS2008上的可怜的迷失的灵魂