Mic*_*ris 6 c# t4 visual-studio-2012 tangible-t4-editor
我正在尝试从VS2012项目生成代码进行一些实验,但我无法使这段t4代码工作
var project = VisualStudioHelper.CurrentProject;
Run Code Online (Sandbox Code Playgroud)
因为无法找到VisualStudioHelper.
我应该在我的t4中安装/包含什么才能使VisualStudioHelper可用?
VisualStudioHelper是来自有形T4编辑器的自定义类.
要使用此类,请为Visual Studio安装Tangible T4 Editor,然后:
<#@ include file="VisualStudioHelper.ttinclude" #>
什么是VisualStudioHelper?这似乎是一个自定义的东西,而不是 T4 模板引擎中内置的东西。如果您需要访问当前项目,您可以尝试以下操作:
var dte = (EnvDTE.DTE)((IServiceProvider)Host).GetService(typeof(EnvDTE.DTE));
var project = dte.Solution.FindProjectItem(Host.TemplateFile).ContainingProject;
Run Code Online (Sandbox Code Playgroud)
不要忘记导入 T4 模板顶部的程序集:
<#@ assembly name="EnvDTE" #>
Run Code Online (Sandbox Code Playgroud)