我正在尝试从 VS2012 项目生成代码进行一些实验,但我无法使这段 t4 代码工作
var project = VisualStudioHelper.CurrentProject;
因为找不到 VisualStudioHelper。
为了使 VisualStudioHelper 可用,我应该在我的 t4 中安装/包含什么?
我正在尝试从 VS2012 项目生成代码进行一些实验,但我无法使这段 t4 代码工作
var project = VisualStudioHelper.CurrentProject;
因为找不到 VisualStudioHelper。
为了使 VisualStudioHelper 可用,我应该在我的 t4 中安装/包含什么?
VisualStudioHelper 是来自有形 T4 编辑器的自定义类。
为了使用这个类,为你的 Visual Studio 安装有形 T4 编辑器,然后:
<#@ include file="VisualStudioHelper.ttinclude" #>
我VisualStudioHelper
从有形的 T4 Editor知道。它是免费的,并带有一个模板库,提供有用的 T4 模板,您可以将其包含在您的模板中,例如用于访问 Visual Studio 功能或项目配置等。
也许你应该去那里看看。
编辑: 您应该在图库中查找的模板名为“tangible Visual Studio Automation Helper”
是什么VisualStudioHelper
?这似乎是一个自定义的东西,而不是 T4 模板引擎内置的东西。如果您需要访问当前项目,您可以试试这个:
var dte = (EnvDTE.DTE)((IServiceProvider)Host).GetService(typeof(EnvDTE.DTE));
var project = dte.Solution.FindProjectItem(Host.TemplateFile).ContainingProject;
不要忘记在 T4 模板顶部导入程序集:
<#@ assembly name="EnvDTE" #>