public override void Exec() { if (!BimlUtility.CheckRequiredFrameworkVersion()) { return; } UIHierarchy solExplorer = this.ApplicationObject.ToolWindows.SolutionExplorer; var emittableFilePaths = new List <string>(); Project containingProject = null; string projectDirectory = null; bool sameProject = false; foreach (object selected in ((System.Array)solExplorer.SelectedItems)) { UIHierarchyItem hierItem = (UIHierarchyItem)selected; ProjectItem projectItem = hierItem.Object as ProjectItem; if (projectItem != null && projectItem.Name.ToLower().EndsWith(".biml")) { if (projectItem.Document != null && !projectItem.Document.Saved) { projectItem.Document.Save(null); } Project newContainingProject = projectItem.ContainingProject; sameProject = containingProject == null || containingProject == newContainingProject; containingProject = projectItem.ContainingProject; projectDirectory = Path.GetDirectoryName(containingProject.FullName); string filePath = Path.Combine(projectDirectory, projectItem.Name); emittableFilePaths.Add(filePath); } } if (sameProject && containingProject != null && projectDirectory != null) { try { ApplicationObject.StatusBar.Animate(true, vsStatusAnimation.vsStatusAnimationDeploy); ApplicationObject.StatusBar.Progress(true, "Generating SSIS Packages", 1, 3); Expand(emittableFilePaths, containingProject, projectDirectory); } catch (Exception ex) { MessageBox.Show(ex.Message, DefaultMessageBoxCaption, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { try { ApplicationObject.StatusBar.Animate(false, vsStatusAnimation.vsStatusAnimationDeploy); ApplicationObject.StatusBar.Progress(false, "Generating SSIS Packages", 3, 3); } catch { } } } }
public override void Exec() { if (Biml.BimlUtility.ShowDisabledMessage()) { return; } if (!BimlUtility.CheckRequiredFrameworkVersion()) { return; } UIHierarchy solExplorer = this.ApplicationObject.ToolWindows.SolutionExplorer; var emittableFilePaths = new List <string>(); Project containingProject = null; string projectDirectory = null; bool sameProject = false; foreach (object selected in ((System.Array)solExplorer.SelectedItems)) { UIHierarchyItem hierItem = (UIHierarchyItem)selected; ProjectItem projectItem = hierItem.Object as ProjectItem; if (projectItem != null && projectItem.Name.ToLower().EndsWith(".biml")) { if (projectItem.Document != null && !projectItem.Document.Saved) { projectItem.Document.Save(null); } Project newContainingProject = projectItem.ContainingProject; sameProject = containingProject == null || containingProject == newContainingProject; containingProject = projectItem.ContainingProject; projectDirectory = Path.GetDirectoryName(containingProject.FullName); string filePath = Path.Combine(projectDirectory, projectItem.Name); emittableFilePaths.Add(filePath); } } if (sameProject && containingProject != null && projectDirectory != null) { try { ShowValidationItems(emittableFilePaths, containingProject, projectDirectory); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }