Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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);
        }