我已经在VS 2012中创建了一个插件。此插件解决方案还包含T4模板。当插件解决方案中还存在t4模板时,我已经实现了在单击插件时执行t4模板的逻辑。
问题是,我如何在插件中嵌入T4模板,以便当我们在任何其他不包含这些模板文件的解决方案中使用此插件时,也可以在单击插件模板时执行并生成输出文件。我附加了我正在使用的代码片段。
var dte = Marshal.GetActiveObject("VisualStudio.DTE.11.0") as EnvDTE80.DTE2;
Solution sol = ((DTE)dte).Solution;
string strFileName = string.Empty;
foreach (Project project in sol.Projects)
{
foreach (ProjectItem item in project.ProjectItems)
{
if (item.Name.Contains(".tt"))
{
VSLangProj.VSProjectItem itemobj =(VSLangProj.VSProjectItem)item.Object;
itemobj.RunCustomTool();
}
}
}发信人:Shivani Srivastava
发布于 2013-07-12 03:18:55
您可能希望使用T4服务。您可以从DTE获取IServiceProvider,然后查询STextTemplating。关于如何使用的文档是here。
https://stackoverflow.com/questions/17589696
复制相似问题