public void TearDown() { this.referenceTemplates = null; this.variables = null; this.sut = null; this.settingsBuilder.Dispose(); this.settingsBuilder = null; }
public void SetUp() { this.settingsBuilder = new TestSettingsSerializer(); this.referenceTemplates = this.settingsBuilder.CreateDefaultReferenceTemplates(); this.variables = this.settingsBuilder.CreateDefaultVariables(); this.sut = new ProjectPathByReferenceCalculator(this.referenceTemplates, this.variables); this.referenceTemplates.Add(new Reference("reference1.v{version}", "path1")); this.referenceTemplates.Add(new Reference("reference1.v{version}", "path2")); }
static void Execute(Package package, EnvDTE.DTE dte) { DTE2 envDTE = dte as EnvDTE80.DTE2; SelectedItems selectedItems = envDTE.SelectedItems; System.Array solutionProjects = envDTE.ActiveSolutionProjects as System.Array; List <VSLangProj.Reference> selectedReferences = new List <VSLangProj.Reference>(); foreach (Project project in solutionProjects) { Debug.WriteLine($"{project.Name}"); VSLangProj.VSProject vsProject = project.Object as VSLangProj.VSProject; foreach (SelectedItem item in selectedItems) { foreach (VSLangProj.Reference reference in vsProject.References) { if (reference.Name == item.Name) { selectedReferences.Add(reference); } } } } ReferencePatcherSettings.Instance.Reload(); ReferencePatcherSettings settings = ReferencePatcherSettings.Instance; var calculator = new ProjectPathByReferenceCalculator(settings.References, settings.Variables); foreach (VSLangProj.Reference reference in selectedReferences) { VSLangProj.VSProject project = reference.ContainingProject.Object as VSLangProj.VSProject; List <string> paths = calculator.CalculatePaths(reference.Name); if (paths == null || paths.Count < 1) { var newPath = ShowAddReferenceDialog(reference.Name); if (String.IsNullOrEmpty(newPath)) { continue; } paths.Add(newPath); } string path = paths.FirstOrDefault(somePath => File.Exists(somePath)); if (String.IsNullOrEmpty(path)) { path = ShowAddReferenceDialog(reference.Name); if (String.IsNullOrEmpty(path)) { continue; } } Project newProject = null; try { newProject = envDTE.Solution.AddFromFile(path); } catch { newProject = FindProject(envDTE, path, reference); } if (newProject == null) { return; } reference.Remove(); project.References.AddProject(newProject); } }