0

我在 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

4

1 回答 1

1

您可能希望使用 T4 服务。您可以从 DTE 获取 IServiceProvider,然后查询 STextTemplating。如何使用的文档在这里

于 2013-07-11T19:18:54.987 回答