Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/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
Templates 使用T4或其他技术在VS 2008中生成类模板_Templates_.net 3.5_C# 3.0_Code Generation_T4 - Fatal编程技术网

Templates 使用T4或其他技术在VS 2008中生成类模板

Templates 使用T4或其他技术在VS 2008中生成类模板,templates,.net-3.5,c#-3.0,code-generation,t4,Templates,.net 3.5,C# 3.0,Code Generation,T4,我已经创建了一个AddInHost,通过它可以扩展VS Ide命令(右键单击SolutionExplorerMenu) 现在我想使用AddIn从模板生成代码 我已经阅读了许多关于T4代码生成的文章,并尝试了一些简单的模板,但我不知道如何在我的加载项中使用T4技术 对于模板,我需要指定一些可以在模板中使用的参数。 我需要的参数 名称空间 类名 方法收集 财产收集 我试着用 <#@ property name="ClassName" type="System.String" proce

我已经创建了一个AddInHost,通过它可以扩展VS Ide命令(右键单击SolutionExplorerMenu)

现在我想使用AddIn从模板生成代码

我已经阅读了许多关于T4代码生成的文章,并尝试了一些简单的模板,但我不知道如何在我的加载项中使用T4技术

对于模板,我需要指定一些可以在模板中使用的参数。 我需要的参数

  • 名称空间
  • 类名
  • 方法收集
  • 财产收集
我试着用

<#@ property name="ClassName"  type="System.String"  processor="PropertyProcessor" #>

但在我读了一些文章后,我认为它不应该正确工作

我的问题是,我找不到一个解决方案来使用T4和我的插件

加载项中的所有命令都有一个“Perform”方法,其中写入了所有特定于命令的实现。 在命令中,我有一个对主机(=VSIDE)的引用,因此我可以完全使用IDE模型

如何在外接程序中使用T4创建基于模板的文件?
我该怎么做?
我是否应该通过
ProjectItems.AddFromFile()
或者我可以使用T4的功能吗

我有点困惑如何实现我的需求


非常感谢。

使用ITextTemplating服务。这是。

我以前就是这样尝试的,但我不知道如何将iTextTemplate与我的CommandAction结合起来?使用引擎时是否应创建自定义的“ITextTemplatingEngineHost”?我应该通过ServiceProvider还是直接通过“新建”初始化创建引擎/主机?