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); }
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); }
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); }
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); }
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); }
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); }
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); }; }
internal static bool IsSketchFlowProject(IProjectStore projectStore) { if (!string.IsNullOrEmpty(projectStore.GetProperty("ExpressionBlendPrototypingEnabled"))) { return(true); } return(false); }
public override bool IsValidTypeForProject(IProjectStore projectStore) { if (!WindowsExecutableProjectType.IsSupportedOutputType(projectStore) || !WindowsExecutableProjectType.HasValidGuids(projectStore)) { return(false); } return(base.IsValidTypeForProject(projectStore)); }
public static Version GetSilverlightVersion(IProjectStore projectStore) { if (!ProjectStoreHelper.HasSilverlightGuids(projectStore)) { return(null); } return(ProjectStoreHelper.ConvertStringToVersion(ProjectStoreHelper.GetSilverlightVersionFromProjectStore(projectStore))); }
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;
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; } } } } } }); }
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)); }
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; }
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)); }
private static string GetSilverlightVersionUsingProperties(IProjectStore projectStore) { string property = projectStore.GetProperty("SilverlightVersion"); if (ProjectStoreHelper.PropertyMatchesMSBuildVariable(property, "TargetFrameworkVersion")) { property = projectStore.GetProperty("TargetFrameworkVersion"); } return(property ?? string.Empty); }
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); }
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)); }
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)); } }
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); } }
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); }
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); }
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(); }
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; } } } }); }
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; }
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); }