public void ConfigureCallback() { try { var project = currentProjectFinder.GetCurrentProject(); if (UnsaveProjectChecker.HasUnsavedPendingChanges(project)) { return; } var projectReader = new ProjectReader(project.FullName); var model = new ConfigureWindowModel(); var defaulter = new Defaulter(); defaulter.ToModel(projectReader, model); var configureWindow = new ConfigureWindow(model); new WindowInteropHelper(configureWindow) { Owner = GetActiveWindow() }; if (configureWindow.ShowDialog().GetValueOrDefault()) { Configure(model, project); } } catch (COMException exception) { exceptionDialog.HandleException(exception); } catch (Exception exception) { exceptionDialog.HandleException(exception); } }
void Configure(ConfigureWindowModel model, Project project) { var directoryInfo = fullPathResolver.GetFullPath(model.ToolsDirectory, project); var targetFile = new FileInfo(Path.Combine(directoryInfo.FullName, "NotifyPropertyWeaverMsBuildTask.dll")); if (!targetFile.Exists || VersionChecker.IsVersionNewer(targetFile)) { if (!fileExporter.ExportTask(directoryInfo)) { taskFileReplacer.AddFile(directoryInfo); } } if (model.IncludeAttributeAssembly) { var frameworkType = FrameworkTypeReader.GetFrameworkType(project.FullName); fileExporter.ExportAttribute(fullPathResolver.GetFullPath(model.DependenciesDirectory, project), frameworkType); } var defaulter = new Defaulter(); var projectInjector = new NotifyPropertyWeaverProjectInjector { ProjectFile = project.FullName }; defaulter.FromModel(projectInjector, model); projectInjector.Execute(); }
void Configure(ConfigureWindowModel model, Project project) { var directoryInfo = fullPathResolver.GetFullPath(model.ToolsDirectory, project); var targetFile = new FileInfo(Path.Combine(directoryInfo.FullName, "Costura.dll")); if (!targetFile.Exists || VersionChecker.IsVersionNewer(targetFile)) { if (!fileExporter.ExportTask(directoryInfo)) { taskFileReplacer.AddFile(directoryInfo); } } var defaulter = new Defaulter(); var projectInjector = new CosturaProjectInjector { ProjectFile = project.FullName }; defaulter.FromModel(projectInjector, model); projectInjector.Execute(); }