public override ConversionType GetVersion(ConversionTarget file) { if (!file.IsProject) { return(ConversionType.Unknown); } FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(file.ProjectStore); if (targetFrameworkName == null || targetFrameworkName.Identifier != ".NETFramework") { return(ConversionType.Unknown); } if (ProjectStoreHelper.UsesWpf(file.ProjectStore)) { if (targetFrameworkName.Version == CommonVersions.Version3_0) { return(ConversionType.ProjectWpf30); } if (targetFrameworkName.Version == CommonVersions.Version3_5) { return(ConversionType.ProjectWpf35); } if (targetFrameworkName.Version == CommonVersions.Version4_0) { return(ConversionType.ProjectWpf40); } } return(ConversionType.Unknown); }
public override bool IsValidTypeForProject(IProjectStore projectStore) { FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(projectStore); if (targetFrameworkName == (FrameworkName)null || targetFrameworkName.Identifier != ".NETFramework" || !(targetFrameworkName.Version == CommonVersions.Version3_5) && !(targetFrameworkName.Version == CommonVersions.Version4_0) || !base.IsValidTypeForProject(projectStore)) { return(false); } return(ProjectStoreHelper.UsesWpf(projectStore)); }
internal UpgradeWizard.UpgradeResponse PromptToUpgrade(Dictionary <ConversionType, ConversionType> conversionMapping, out bool?doNotShowAgain, ref string backupLocation, out IEnumerable <UpgradeAction> proposedUpgrades) { doNotShowAgain = null; proposedUpgrades = Enumerable.Empty <UpgradeAction>(); List <UpgradeAction> list = this.GetProposedUpgrades(conversionMapping).ToList <UpgradeAction>(); if (list.Count == 0) { return(UpgradeWizard.UpgradeResponse.DontUpgrade); } List <ConversionType> conversionTypes = new List <ConversionType>(); List <ConversionType> conversionTypes1 = new List <ConversionType>(); bool flag = false; bool flag1 = false; if (!this.sketchFlowSolution) { using (IEnumerator <ConversionTarget> enumerator = this.GetConversionTargets().GetEnumerator()) { do { Label0: if (!enumerator.MoveNext()) { break; } ConversionTarget current = enumerator.Current; FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(current.ProjectStore); if (targetFrameworkName == null || targetFrameworkName.Version == CommonVersions.Version4_0) { goto Label0; } else if (flag || !ProjectStoreHelper.UsesSilverlight(current.ProjectStore) || targetFrameworkName.Version.Major <= 1) { if (flag1 || !ProjectStoreHelper.UsesWpf(current.ProjectStore) || !(targetFrameworkName.Version >= CommonVersions.Version3_0)) { continue; } flag1 = true; } else { flag = true; } }while (!flag1 || !flag); } if (flag1) { conversionTypes1.Add(ConversionType.ProjectWpf35); conversionTypes1.Add(ConversionType.ProjectWpf40); } if (flag) { conversionTypes.Add(ConversionType.ProjectSilverlight3); conversionTypes.Add(ConversionType.ProjectSilverlight4); } } bool flag2 = this.targetStore != null; bool flag3 = !flag2; bool flag4 = !flag2; UpgradeProjectDialog upgradeProjectDialog = new UpgradeProjectDialog(base.Services.ExpressionInformationService(), conversionTypes, conversionTypes1, flag3, flag4); ProjectDialogResult projectDialogResult = upgradeProjectDialog.ShowProjectDialog(); doNotShowAgain = new bool?(upgradeProjectDialog.DoNotShowAgain); if (upgradeProjectDialog.Backup && projectDialogResult == ProjectDialogResult.Yes) { string parentDirectory = Microsoft.Expression.Framework.Documents.PathHelper.GetParentDirectory(Microsoft.Expression.Framework.Documents.PathHelper.GetDirectory(base.Solution.DocumentReference.Path)); CultureInfo invariantCulture = CultureInfo.InvariantCulture; string newNameCopyTemplate = StringTable.NewNameCopyTemplate; object[] fileNameWithoutExtension = new object[] { Path.GetFileNameWithoutExtension(base.Solution.DocumentReference.DisplayName) }; string availableFileOrDirectoryName = string.Format(invariantCulture, newNameCopyTemplate, fileNameWithoutExtension); availableFileOrDirectoryName = Microsoft.Expression.Framework.Documents.PathHelper.GetAvailableFileOrDirectoryName(availableFileOrDirectoryName, null, parentDirectory, false); backupLocation = Path.Combine(parentDirectory, availableFileOrDirectoryName); string str = backupLocation; Exception exception1 = null; using (IDisposable disposable = TemporaryCursor.SetWaitCursor()) { ErrorHandling.HandleBasicExceptions(() => ProjectManager.CopyDirectory(Microsoft.Expression.Framework.Documents.PathHelper.GetDirectory(this.Solution.DocumentReference.Path), str), (Exception exception) => exception1 = exception); } if (exception1 != null) { ErrorArgs errorArg = new ErrorArgs() { Message = StringTable.UpgradeBackupFailed, Exception = exception1, AutomationId = "BackupProjectErrorDialog" }; base.Services.MessageDisplayService().ShowError(errorArg); return(UpgradeWizard.UpgradeResponse.Cancel); } } switch (projectDialogResult) { case ProjectDialogResult.Yes: { if (this.sketchFlowSolution) { proposedUpgrades = list; } else { this.VersionMapping[ConversionType.ProjectSilverlight2] = upgradeProjectDialog.SelectedSilverlightVersion; this.VersionMapping[ConversionType.ProjectSilverlight3] = upgradeProjectDialog.SelectedSilverlightVersion; this.VersionMapping[ConversionType.ProjectWpf30] = upgradeProjectDialog.SelectedDotNetVersion; this.VersionMapping[ConversionType.ProjectWpf35] = upgradeProjectDialog.SelectedDotNetVersion; proposedUpgrades = this.GetProposedUpgrades(conversionMapping); } return(UpgradeWizard.UpgradeResponse.Upgrade); } case ProjectDialogResult.No: { return(UpgradeWizard.UpgradeResponse.DontUpgrade); } } return(UpgradeWizard.UpgradeResponse.Cancel); }