public override ConversionType GetVersion(ConversionTarget file)
        {
            if (!file.IsProject)
            {
                return(ConversionType.Unknown);
            }
            IProjectStore projectStore = file.ProjectStore;

            if (Microsoft.Expression.Framework.Interop.TypeHelper.ConvertType <bool>(projectStore.GetProperty("WindowsCEEnabled")) || Microsoft.Expression.Framework.Interop.TypeHelper.ConvertType <bool>(projectStore.GetProperty("SilverlightMobile")))
            {
                return(ConversionType.Unsupported);
            }
            Version silverlightVersion = ProjectStoreHelper.GetSilverlightVersion(projectStore);

            if (silverlightVersion == CommonVersions.Version2_0)
            {
                return(ConversionType.ProjectSilverlight2);
            }
            if (silverlightVersion == CommonVersions.Version3_0)
            {
                return(ConversionType.ProjectSilverlight3);
            }
            if (silverlightVersion == CommonVersions.Version4_0)
            {
                return(ConversionType.ProjectSilverlight4);
            }
            return(ConversionType.Unknown);
        }
Esempio n. 2
0
 private bool HandleVersion4Upgrade(IProjectStore projectStore)
 {
     if (!projectStore.GetItems("Reference").Any <IProjectItemData>((IProjectItemData reference) => {
         if (string.Equals(reference.Value, "System.Xaml", StringComparison.OrdinalIgnoreCase))
         {
             return(true);
         }
         if (string.IsNullOrEmpty(reference.Value) || reference.Value.IndexOf("System.Xaml", StringComparison.OrdinalIgnoreCase) == -1)
         {
             return(false);
         }
         AssemblyName assemblyName = ProjectConverterBase.GetAssemblyName(reference.Value);
         if (assemblyName == null)
         {
             return(false);
         }
         if (assemblyName.Name.Equals("System.Xaml", StringComparison.OrdinalIgnoreCase))
         {
             return(true);
         }
         return(false);
     }))
     {
         IProjectItemData projectItemDatum = projectStore.AddItem("Reference", "System.Xaml");
         if (projectItemDatum == null)
         {
             return(false);
         }
         if (!projectItemDatum.SetItemMetadata("RequiredTargetFramework", "v4.0"))
         {
             return(false);
         }
     }
     return(true);
 }
Esempio n. 3
0
        public IProjectType GetProjectTypeForProject(IProjectStore projectStore)
        {
            IProjectType item;

            PerformanceUtility.StartPerformanceSequence(PerformanceEvent.GetProjectTypeForProject);
            try
            {
                int count = this.projectTypes.Count - 1;
                while (count >= 0)
                {
                    if (!this.projectTypes[count].IsValidTypeForProject(projectStore))
                    {
                        count--;
                    }
                    else
                    {
                        item = this.projectTypes[count];
                        return(item);
                    }
                }
                return(this.unknownProjectType);
            }
            finally
            {
                PerformanceUtility.EndPerformanceSequence(PerformanceEvent.GetProjectTypeForProject);
            }
            return(item);
        }
Esempio n. 4
0
        private static string GetSilverlightVersionFromProjectStore(IProjectStore projectStore)
        {
            string empty = string.Empty;

            empty = (projectStore.StoreVersion != CommonVersions.Version4_0 ? ProjectStoreHelper.GetSilverlightVersionFromImports(projectStore) : ProjectStoreHelper.GetSilverlightVersionUsingProperties(projectStore));
            return(empty);
        }
 private bool ReplaceFontTargets(IProjectStore projectStore)
 {
     projectStore.ChangeImport("SubsetFontSilverlight.targets", BlendSdkHelper.CurrentVersionSilverlightTargetsFile);
     projectStore.ChangeImport("$(MSBuildExtensionsPath)\\Microsoft\\Expression\\Blend\\3.0\\Silverlight\\Microsoft.Expression.Blend.Silverlight.targets", BlendSdkHelper.CurrentVersionSilverlightTargetsFile);
     projectStore.ChangeImport("SubsetFont.targets", BlendSdkHelper.CurrentVersionWpfTargetsFile);
     projectStore.ChangeImport("$(MSBuildExtensionsPath)\\Microsoft\\Expression\\Blend\\3.0\\WPF\\Microsoft.Expression.Blend.WPF.targets", BlendSdkHelper.CurrentVersionWpfTargetsFile);
     string[] strArrays = FontEmbeddingSdkConverter.itemsToRemove;
     for (int i = 0; i < (int)strArrays.Length; i++)
     {
         foreach (IProjectItemData item in projectStore.GetItems(strArrays[i]))
         {
             projectStore.RemoveItem(item);
         }
     }
     string[] strArrays1 = FontEmbeddingSdkConverter.itemsToRemove;
     for (int j = 0; j < (int)strArrays1.Length; j++)
     {
         this.TryDeleteFile(strArrays1[j], projectStore.DocumentReference.Path);
     }
     foreach (IProjectItemData projectItemDatum in projectStore.GetItems("BlendEmbeddedFont"))
     {
         if (!string.IsNullOrEmpty(projectItemDatum.GetMetadata("All")))
         {
             continue;
         }
         projectItemDatum.SetItemMetadata("All", "True");
         projectItemDatum.SetItemMetadata("AutoFill", "True");
     }
     return(true);
 }
Esempio n. 6
0
        protected override bool UpgradeProject(IProjectStore projectStore, ConversionType initialVersion, ConversionType targetVersion)
        {
            ProjectLanguage projectLanguage = ProjectStoreHelper.GetProjectLanguage(projectStore);

            if (projectLanguage != ProjectLanguage.CSharp && projectLanguage != ProjectLanguage.VisualBasic)
            {
                return(false);
            }
            if (targetVersion != ConversionType.WebAppProject10)
            {
                return(false);
            }
            string[] array = projectStore.ProjectImports.ToArray <string>();
            for (int i = 0; i < (int)array.Length; i++)
            {
                string str = array[i];
                if (WebProjectConverter.webApplicationTargetVersion.Match(str).Success&& !projectStore.ChangeImport(str, "$(MSBuildExtensionsPath32)\\Microsoft\\VisualStudio\\v10.0\\WebApplications\\Microsoft.WebApplication.targets"))
                {
                    return(false);
                }
            }
            if (!projectStore.SetStoreVersion(CommonVersions.Version4_0))
            {
                return(false);
            }
            return(true);
        }
Esempio n. 7
0
        private static IProjectStore CreateProjectStore(DocumentReference documentReference, IServiceProvider serviceProvider, IEnumerable <ProjectCreator> creatorChainOfResponsibility, Func <Action, Action <Exception>, bool> exceptionHandler, Action <Exception> handledExceptionAction)
        {
            IProjectStore projectStore;

            if (documentReference == null)
            {
                throw new ArgumentNullException("documentReference");
            }
            if (serviceProvider == null)
            {
                throw new ArgumentNullException("serviceProvider");
            }
            IProjectStore projectStore1 = null;

            using (IEnumerator <ProjectCreator> enumerator = creatorChainOfResponsibility.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    ProjectCreator current = enumerator.Current;
                    if (!exceptionHandler(new Action(() => projectStore1 = current(documentReference, serviceProvider)), handledExceptionAction) || projectStore1 == null)
                    {
                        continue;
                    }
                    projectStore = projectStore1;
                    return(projectStore);
                }
                return(projectStore1);
            }
            return(projectStore);
        }
Esempio n. 8
0
 private MigratingMSBuildStore(Microsoft.Expression.Framework.Documents.DocumentReference documentReference, IServiceProvider serviceProvider)
 {
     this.DocumentReference = documentReference;
     this.serviceProvider   = serviceProvider;
     this.AttemptToMigrate  = (bool callerSuccess) => {
         if (!callerSuccess)
         {
             return(callerSuccess);
         }
         try
         {
             ProjectPathHelper.AttemptToMakeWritable(this.DocumentReference, this.serviceProvider);
             this.Save();
             IProjectStore projectStore = MSBuildBasedProjectStore.CreateInstance(this.DocumentReference, this.serviceProvider);
             this.NestedStore.Dispose();
             this.NestedStore      = projectStore;
             this.AttemptToMigrate = (bool value) => value;
         }
         catch (InvalidProjectFileException invalidProjectFileException)
         {
             this.LastError = invalidProjectFileException;
         }
         return(callerSuccess);
     };
 }
Esempio n. 9
0
 internal static bool IsSketchFlowProject(IProjectStore projectStore)
 {
     if (!string.IsNullOrEmpty(projectStore.GetProperty("ExpressionBlendPrototypingEnabled")))
     {
         return(true);
     }
     return(false);
 }
Esempio n. 10
0
 public override bool IsValidTypeForProject(IProjectStore projectStore)
 {
     if (!WindowsExecutableProjectType.IsSupportedOutputType(projectStore) || !WindowsExecutableProjectType.HasValidGuids(projectStore))
     {
         return(false);
     }
     return(base.IsValidTypeForProject(projectStore));
 }
Esempio n. 11
0
 public static Version GetSilverlightVersion(IProjectStore projectStore)
 {
     if (!ProjectStoreHelper.HasSilverlightGuids(projectStore))
     {
         return(null);
     }
     return(ProjectStoreHelper.ConvertStringToVersion(ProjectStoreHelper.GetSilverlightVersionFromProjectStore(projectStore)));
 }
Esempio n. 12
0
 public AspNetProjectManager(
     IProjectStore <TProject> store,
     IProjectAccessor <TProject> accessor,
     IEnumerable <IValidator <TProject> > validators,
     ILogger <ProjectManager <TProject> > logger,
     ILookupNormalizer <TProject> nameNormalizer,
     IHttpContextAccessor contextAccessor)
     : base(store, accessor, validators, logger, nameNormalizer)
     => _cancel = contextAccessor?.HttpContext?.RequestAborted ?? CancellationToken.None;
Esempio n. 13
0
 public override void Execute()
 {
     this.HandleBasicExceptions(() => {
         using (ProjectUpgradeLogger projectUpgradeLogger = new ProjectUpgradeLogger())
         {
             IProject project = this.SelectedProjectOrNull();
             ISolutionManagement solutionManagement = this.Solution() as ISolutionManagement;
             if (base.Services.PromptUserYesNo(StringTable.UpgradeProjectWarning))
             {
                 if (this.SaveSolution(true))
                 {
                     if (this.SaveSolution(true))
                     {
                         DocumentReference documentReference = project.DocumentReference;
                         solutionManagement.CloseProject(project);
                         IProjectStore projectStore = null;
                         try
                         {
                             projectStore = ProjectStoreHelper.CreateProjectStore(documentReference, base.Services, ProjectStoreHelper.DefaultProjectCreationChain);
                             using (IDisposable disposable = this.SuspendWatchers())
                             {
                                 if (this.converter.Convert(new ConversionTarget(projectStore), this.sourceType, this.targetType))
                                 {
                                     using (IDisposable disposable1 = projectUpgradeLogger.SuspendLogging())
                                     {
                                         projectStore.Dispose();
                                         projectStore = ProjectStoreHelper.CreateProjectStore(documentReference, base.Services, ProjectStoreHelper.DefaultProjectCreationChain);
                                         if (solutionManagement.AddProject(projectStore) == null)
                                         {
                                             projectStore.Dispose();
                                         }
                                     }
                                     solutionManagement.OpenInitialViews();
                                 }
                                 else
                                 {
                                     projectStore.Dispose();
                                     return;
                                 }
                             }
                             UpgradeWizard.SaveLogAndPromptUser(projectUpgradeLogger, base.Services, solutionManagement.DocumentReference.Path, true);
                         }
                         catch
                         {
                             if (projectStore != null)
                             {
                                 projectStore.Dispose();
                             }
                             UpgradeWizard.SaveLogAndPromptUser(projectUpgradeLogger, base.Services, solutionManagement.DocumentReference.Path, false);
                             throw;
                         }
                     }
                 }
             }
         }
     });
 }
Esempio n. 14
0
 public ProjectManager(
     IProjectStore <TProject> store,
     IProjectAccessor <TProject> accessor,
     IEnumerable <IValidator <TProject> > validators,
     ILogger <ProjectManager <TProject> > logger,
     ILookupNormalizer <TProject> nameNormalizer)
     : base(store, accessor, validators, logger)
 {
     NameNormalizer = nameNormalizer ?? throw new ArgumentNullException(nameof(nameNormalizer));
 }
Esempio n. 15
0
 protected ProjectBase(IProjectStore projectStore, IServiceProvider serviceProvider) : base(projectStore.DocumentReference)
 {
     this.Services = serviceProvider;
     if (projectStore.DocumentReference.IsValidPathFormat)
     {
         this.projectRoot = Microsoft.Expression.Framework.Documents.DocumentReference.Create(PathHelper.EnsurePathEndsInDirectorySeparator(PathHelper.GetDirectory(projectStore.DocumentReference.Path)));
     }
     this.ProjectFileInformation = new Microsoft.Expression.Project.ProjectFileInformation(projectStore.DocumentReference.Path);
     this.ProjectStore           = projectStore;
 }
Esempio n. 16
0
        public override bool IsValidTypeForProject(IProjectStore projectStore)
        {
            string property = projectStore.GetProperty("OutputType");

            if (property == null || !property.Equals("Exe", StringComparison.OrdinalIgnoreCase))
            {
                return(false);
            }
            return(base.IsValidTypeForProject(projectStore));
        }
        public override bool IsValidTypeForProject(IProjectStore projectStore)
        {
            Version storeVersion = projectStore.StoreVersion;

            if (!(projectStore is MSBuildBasedProjectStore) || !(storeVersion != null) || !(storeVersion == CommonVersions.Version4_0) || !ProjectStoreHelper.IsKnownLanguage(projectStore))
            {
                return(false);
            }
            return(this.IsValidIfSketchFlow(projectStore));
        }
Esempio n. 18
0
        private static string GetSilverlightVersionUsingProperties(IProjectStore projectStore)
        {
            string property = projectStore.GetProperty("SilverlightVersion");

            if (ProjectStoreHelper.PropertyMatchesMSBuildVariable(property, "TargetFrameworkVersion"))
            {
                property = projectStore.GetProperty("TargetFrameworkVersion");
            }
            return(property ?? string.Empty);
        }
Esempio n. 19
0
        private static bool HasValidGuids(IProjectStore projectStore)
        {
            string property = projectStore.GetProperty("ProjectTypeGuids");

            if (string.IsNullOrEmpty(property))
            {
                return(true);
            }
            return(property.IndexOf("{349c5851-65df-11da-9384-00065b846f21}", StringComparison.OrdinalIgnoreCase) == -1);
        }
Esempio n. 20
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. 21
0
 protected override void RenameProjectItemInternal(IProjectItem projectItem, Microsoft.Expression.Framework.Documents.DocumentReference newDocumentReference)
 {
     if (projectItem == this.StartupItem)
     {
         IProjectStore projectStore = base.ProjectStore;
         string        projectRelativeDocumentReference = projectItem.ProjectRelativeDocumentReference;
         char[]        directorySeparatorChar           = new char[] { Path.DirectorySeparatorChar };
         projectStore.SetProperty("StartPageUrl", projectRelativeDocumentReference.TrimStart(directorySeparatorChar));
     }
 }
Esempio n. 22
0
 internal static IEnumerable <string> GetSilverlightImports(IProjectStore projectStore)
 {
     foreach (string projectImport in projectStore.ProjectImports)
     {
         if (!ProjectStoreHelper.silverlightTargetVersion.Match(projectImport).Success)
         {
             continue;
         }
         yield return(projectImport);
     }
 }
        public async Task Should_Return_Projects_Count_According_To_Filter_Parameters(
            ProjectSearchParametersModel parameters, Int32 expectedCount)
        {
            using (WavesDbContext context = new WavesDbContext(_fixture.DbOptions))
            {
                IProjectStore store = _GetProjectStore(context);
                ItemListModel <ProjectDTO> result = await store.GetAsync(parameters);

                Assert.Equal(expectedCount, result.TotalCount);
            }
        }
Esempio n. 24
0
        public override bool IsValidTypeForProject(IProjectStore projectStore)
        {
            string property = projectStore.GetProperty("ProjectTypeGuids");
            string str      = projectStore.GetProperty("OutputType");

            if (!base.IsValidTypeForProject(projectStore) || str == null || !str.Equals("Library", StringComparison.OrdinalIgnoreCase) || string.IsNullOrEmpty(property))
            {
                return(false);
            }
            return(property.IndexOf("{349c5851-65df-11da-9384-00065b846f21}", StringComparison.OrdinalIgnoreCase) != -1);
        }
Esempio n. 25
0
        internal static IEnumerable <ItemResolutionPair> GetAssemblyPaths(IProjectStore projectStore, ProjectBuildContext buildContext)
        {
            IEnumerable <IProjectItemData>    projectItemDatas = projectStore.GetItems("Reference").Concat <IProjectItemData>(projectStore.GetItems("ProjectReference").Concat <IProjectItemData>(projectStore.GetItems("COMReference")));
            IEnumerable <ProjectItemInstance> referencePaths   = AssemblyReferenceHelper.GetReferencePaths(buildContext);
            IEnumerable <ItemResolutionPair>  value            =
                from assemblyReference in projectItemDatas
                join resolvedAssemblyReference in referencePaths on assemblyReference.Value equals resolvedAssemblyReference.GetMetadata("OriginalItemSpec").EvaluatedValue into groupJoin
                from resolvedReference in groupJoin.DefaultIfEmpty <ProjectItemInstance>()
                select new ItemResolutionPair(assemblyReference, resolvedReference);

            return(value);
        }
Esempio n. 26
0
 public static void Update(IProjectStore projectStore, IProjectActionContext context, ConversionType initialVersion, ConversionType targetVersion)
 {
     if (initialVersion != ConversionType.ProjectWpf30 && initialVersion != ConversionType.ProjectWpf35)
     {
         return;
     }
     if (targetVersion != ConversionType.ProjectWpf40)
     {
         return;
     }
     (new WpfToolkitRemover(projectStore, context)).Update();
 }
Esempio n. 27
0
 public override void Execute()
 {
     this.HandleBasicExceptions(() => {
         string str = base.SelectProject(this.DisplayName);
         if (!string.IsNullOrEmpty(str))
         {
             IProjectStore projectStore = ProjectStoreHelper.CreateProjectStore(DocumentReference.Create(str), base.Services, ProjectStoreHelper.ResilientProjectCreationChain);
             if (projectStore == null)
             {
                 return;
             }
             UpgradeWizard upgradeWizard = new UpgradeWizard(this.Solution() as ISolutionManagement,
                                                             from project in this.Solution().Projects.OfType <ProjectBase>()
                                                             select project.ProjectStore, projectStore, null, base.Services);
             try
             {
                 if (!upgradeWizard.Upgrade())
                 {
                     return;
                 }
             }
             finally
             {
                 projectStore.Dispose();
                 projectStore = null;
             }
             projectStore = ProjectStoreHelper.CreateProjectStore(DocumentReference.Create(str), base.Services, ProjectStoreHelper.DefaultProjectCreationChain);
             if (projectStore == null)
             {
                 return;
             }
             INamedProject namedProject = null;
             try
             {
                 namedProject = this.ProjectManager().AddProject(projectStore);
                 if (namedProject != null)
                 {
                     base.UpdateSourceControl(EnumerableExtensions.AsEnumerable <INamedProject>(namedProject));
                     base.ActivateProjectPane();
                 }
             }
             finally
             {
                 if (namedProject == null && projectStore != null)
                 {
                     projectStore.Dispose();
                     projectStore = null;
                 }
             }
         }
     });
 }
Esempio n. 28
0
        public void SetProject(string projectPath)
        {
            if (!File.Exists(projectPath))
            {
                throw new FileNotFoundException("Project file doesn't exist.", projectPath);
            }
            _projectPath = projectPath;
            IProjectStore store = _projectStoreFactory.Create(_projectPath);

            _project           = store.Load();
            ProjectNameUi      = _project.Name;
            OptionsUi          = _project.Options;
            ScheduledProjectUi = ScheduledProject;
        }
Esempio n. 29
0
        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);
        }
Esempio n. 30
0
        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);
        }