/// <summary> /// Adds the item template to project. /// </summary> /// <param name="instance">The instance.</param> /// <param name="templateInfos">The template infos.</param> public static void AddItemTemplateToProjects( this Solution2 instance, IEnumerable <ItemTemplateInfo> templateInfos) { IEnumerable <Project> projects = instance.GetProjects(); TraceService.WriteError("AddItemTemplateToProjects project count=" + projects.Count()); foreach (ItemTemplateInfo info in templateInfos) { Project project = projects.FirstOrDefault(x => x.Name.EndsWith(info.ProjectSuffix)); if (project != null) { project.AddToFolderFromTemplate(info.FolderName, info.TemplateName, info.FileName); } else { TraceService.WriteError("AddItemTemplateToProjects cannot find project " + info.ProjectSuffix); foreach (Project projectItem in projects) { string projectName = projectItem.Name; TraceService.WriteError("AddItemTemplateToProjects project " + projectName); } } } }
/// <summary> /// Adds the item template to project. /// </summary> /// <param name="instance">The instance.</param> /// <param name="templateInfos">The template infos.</param> /// <param name="createFolder">if set to <c>true</c> [create folder].</param> /// <returns> The messages. </returns> public static List <string> AddItemTemplateToProjects( this Solution2 instance, IEnumerable <ItemTemplateInfo> templateInfos, bool createFolder) { List <string> messages = new List <string>(); IEnumerable <Project> projects = instance.GetProjects(); TraceService.WriteError("AddItemTemplateToProjects project count=" + projects.Count()); foreach (ItemTemplateInfo info in templateInfos) { Project project = projects.FirstOrDefault(x => x.Name.EndsWith(info.ProjectSuffix)); if (project != null) { project.AddToFolderFromTemplate(info.FolderName, info.TemplateName, info.FileName, createFolder); messages.Add(info.FolderName + @"\" + info.FileName + ".cs added to " + project.Name + " project."); } else { TraceService.WriteError("AddItemTemplateToProjects cannot find project " + info.ProjectSuffix); foreach (Project projectItem in projects) { string projectName = projectItem.Name; TraceService.WriteError("AddItemTemplateToProjects project " + projectName); messages.Add(info.FileName + " added to " + projectName + " project."); } } } return(messages); }