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)); }
public static ProjectLicenseGroup GetLicenseGroup(IProjectStore projectStore) { if (ProjectStoreHelper.IsSketchFlowProject(projectStore)) { return(ProjectLicenseGroup.SketchFlow); } FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(projectStore); if (targetFrameworkName != null && !string.IsNullOrEmpty(targetFrameworkName.Profile) && targetFrameworkName.Profile.Equals("WindowsPhone", StringComparison.OrdinalIgnoreCase)) { return(ProjectLicenseGroup.SilverlightMobile); } return(ProjectLicenseGroup.WpfSilverlight); }
public override IProjectCreateError CanCreateProject(IProjectStore projectStore) { if (!new SilverlightChecker(this.serviceProvider).IsAvailable) { return((IProjectCreateError) new ProjectCreateError("DoNotWarnAboutSilverlightNotInstalled", StringTable.SilverlightNotInstalled)); } FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(projectStore); if (targetFrameworkName != (FrameworkName)null && targetFrameworkName.Identifier.Equals(SilverlightProjectType.MobileFrameworkName.Identifier, StringComparison.OrdinalIgnoreCase) && (targetFrameworkName.Profile.Equals(SilverlightProjectType.MobileFrameworkName.Profile, StringComparison.OrdinalIgnoreCase) && targetFrameworkName.Version >= SilverlightProjectType.MobileFrameworkName.Version) && !ProjectAdapterHelper.IsTargetFrameworkSupported(this.serviceProvider, targetFrameworkName)) { return((IProjectCreateError) new ProjectCreateError("DoNotWarnAboutWindowsPhoneNotInstalled", StringTable.WindowsPhoneNotInstalled)); } return((IProjectCreateError)null); }
public override bool IsValidTypeForProject(IProjectStore projectStore) { FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(projectStore); if (targetFrameworkName == (FrameworkName)null || targetFrameworkName.Identifier != "Silverlight" || !(targetFrameworkName.Version == CommonVersions.Version3_0) && !(targetFrameworkName.Version == CommonVersions.Version4_0)) { return(false); } string property = projectStore.GetProperty("OutputType"); if (string.IsNullOrEmpty(property) || !property.Equals("Library", StringComparison.OrdinalIgnoreCase)) { return(false); } return(base.IsValidTypeForProject(projectStore)); }
public override ConversionType GetVersion(ConversionTarget file) { ConversionType conversionType; if (!file.IsProject) { return(ConversionType.Unknown); } FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(file.ProjectStore); if (targetFrameworkName == null || targetFrameworkName.Identifier != ".NETFramework") { return(ConversionType.Unknown); } string property = file.ProjectStore.GetProperty("ProjectTypeGuids"); if (!string.IsNullOrEmpty(property) && property.IndexOf("{349c5851-65df-11da-9384-00065b846f21}", StringComparison.OrdinalIgnoreCase) != -1) { using (IEnumerator <string> enumerator = file.ProjectStore.ProjectImports.GetEnumerator()) { while (enumerator.MoveNext()) { string current = enumerator.Current; Match match = WebProjectConverter.webApplicationTargetVersion.Match(current); if (!match.Success || !string.Equals(match.Groups["version"].Value, "v9.0", StringComparison.OrdinalIgnoreCase)) { continue; } conversionType = ConversionType.WebAppProject9; return(conversionType); } return(ConversionType.Unknown); } return(conversionType); } return(ConversionType.Unknown); }
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); }
public override ConversionType GetVersion(ConversionTarget project) { ConversionType conversionType; this.silverlightSolution = false; this.sketchFlowSolution = false; this.frameworkSolution = false; if (!project.IsSolution) { return(ConversionType.Unknown); } using (IEnumerator <IProjectStore> enumerator = this.contextProjectStores.GetEnumerator()) { do { if (!enumerator.MoveNext()) { break; } IProjectStore current = enumerator.Current; FrameworkName targetFrameworkName = ProjectStoreHelper.GetTargetFrameworkName(current); if (targetFrameworkName == null) { continue; } if (!this.frameworkSolution && targetFrameworkName.Identifier == ".NETFramework") { this.frameworkSolution = true; } if (!this.silverlightSolution && targetFrameworkName.Identifier == "Silverlight") { this.silverlightSolution = true; } if (this.sketchFlowSolution || !ProjectStoreHelper.IsSketchFlowProject(current)) { continue; } this.sketchFlowSolution = true; }while (!this.silverlightSolution || !this.sketchFlowSolution || !this.frameworkSolution); } if (!this.silverlightSolution && !this.frameworkSolution) { return(ConversionType.Unknown); } ILicenseService service = base.Services.GetService <ILicenseService>(); if (this.sketchFlowSolution && service != null && !LicensingHelper.IsSketchFlowLicensed(service)) { return(ConversionType.Unknown); } using (IEnumerator <ConversionTarget> enumerator1 = this.GetConversionTargets().GetEnumerator()) { while (enumerator1.MoveNext()) { ConversionTarget conversionTarget = enumerator1.Current; if (!ConversionHelper.CheckAndAddFile(conversionTarget, this.Converters, this.VersionMapping, true).Any <UpgradeAction>()) { continue; } conversionType = ConversionType.SolutionBlendV3; return(conversionType); } return(ConversionType.SolutionBlendV4); } return(conversionType); }