public static XmlMSBuildProjectStore CreateInstance(Microsoft.Expression.Framework.Documents.DocumentReference documentReference, IServiceProvider serviceProvider) { if (documentReference == null) { throw new ArgumentNullException("documentReference"); } if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } if (!documentReference.IsValidPathFormat) { throw new ArgumentException("Document reference must be a valid path.", "documentReference"); } if (!File.Exists(documentReference.Path)) { throw new FileNotFoundException("File not found.", documentReference.Path); } XmlMSBuildProjectStore xmlMSBuildProjectStore = new XmlMSBuildProjectStore(documentReference) { document = XDocument.Load(documentReference.Path) }; if (xmlMSBuildProjectStore.document == null) { return(null); } return(xmlMSBuildProjectStore); }
public static IProjectStore CreateInstance(Microsoft.Expression.Framework.Documents.DocumentReference documentReference, IServiceProvider serviceProvider) { IProjectStore projectStore; try { projectStore = MSBuildBasedProjectStore.CreateInstance(documentReference, serviceProvider); } catch (InvalidProjectFileException invalidProjectFileException1) { InvalidProjectFileException invalidProjectFileException = invalidProjectFileException1; MigratingMSBuildStore migratingMSBuildStore = new MigratingMSBuildStore(documentReference, serviceProvider) { LastError = invalidProjectFileException, NestedStore = XmlMSBuildProjectStore.CreateInstance(documentReference, serviceProvider) }; projectStore = migratingMSBuildStore; } return(projectStore); }