public ConsoleHostFileConflictResolver( IPackageManagementEvents packageEvents, FileConflictAction?fileConflictAction) { this.packageEvents = packageEvents; fileConflictResolver = new FileConflictResolver(); if (fileConflictAction.HasValue) { conflictResolution = GetFileConflictResolution(fileConflictAction.Value); } packageEvents.ResolveFileConflict += ResolveFileConflict; }
public FileConflictAction ResolveFileConflict(string message) { if (context.FileConflictResolution.HasValue) { return(context.FileConflictResolution.Value); } // This should be using the PowerShell console host instead of a separate GUI. FileConflictAction conflictAction = Runtime.RunInMainThread(() => { var conflictResolver = new FileConflictResolver(); return(conflictResolver.ResolveFileConflict(message)); }).WaitAndGetResult(); if (conflictAction == FileConflictAction.IgnoreAll || conflictAction == FileConflictAction.OverwriteAll) { context.FileConflictResolution = conflictAction; } return(conflictAction); }