t4 "VisualStudioHelper" not found

本文关键字:quot found not VisualStudioHelper t4 | 更新日期: 2023-09-27 18:22:33

我正在尝试从VS2012项目中生成代码,但我无法使这段t4代码在中工作

var project = VisualStudioHelper.CurrentProject;

因为找不到VisualStudioHelper。

为了使VisualStudioHelper可用,我应该在t4中安装/包括什么?

t4 "VisualStudioHelper" not found

VisualStudioHelper是来自Tangible T4 Editor的自定义类。

为了使用这个类,请为您的Visual Studio安装Tangible T4编辑器,然后:

  1. 在Visual Studio中打开"有形T4"菜单,然后单击"模板库"
  2. 单击左下角的"立即更新"图标
  3. 从目录树中选择:Tangible>Visual Studio CodeModel
  4. 在"文件"菜单中,用鼠标右键单击"遍历Visual Studio代码模型",然后选择"添加到解决方案…"
  5. 选择"Microsoft.VisualStudio.Helper.ttinclude"
  6. 在您的.tt文件中,请参考VisualStudioHelper,如下所示:

<#@ include file="VisualStudioHelper.ttinclude" #>

什么是VisualStudioHelper?这似乎是一个自定义的东西,而不是T4模板引擎中内置的东西。如果你需要访问当前项目,你可以试试这个:

var dte = (EnvDTE.DTE)((IServiceProvider)Host).GetService(typeof(EnvDTE.DTE));
var project = dte.Solution.FindProjectItem(Host.TemplateFile).ContainingProject;

不要忘记导入T4模板顶部的程序集:

<#@ assembly name="EnvDTE" #>

我从有形的T4编辑器了解VisualStudioHelper。它是免费的,并附带一个模板库,提供有用的T4模板,您可以将其包含在您的模板中,例如用于访问Visual Studio功能或项目配置等。

也许你应该看看那里。

编辑:您应该在库中查找的模板名为";有形的Visual Studio Automation Helper";