/// <summary> /// Creates a virtual file with the Physical location information in it. /// </summary> /// <param name="vp">The vp.</param> VirtualFile CreateAndWriteVirtualFile(VirtualPath vp) { ShadowFullPath readPath = _pathFactory.CreateShadowFullPath4Read(vp); ShadowFullPath writePath = _pathFactory.CreateShadwoFullPath4Write(vp); var virtualFile = new VirtualFile() { PhysicalUri = new Uri(writePath.PathString) }; IOUtil.PrepareParentDirForPath(readPath.PathString); XmlUtil.WriteXml <VirtualFile>(virtualFile, readPath.PathString); Logger.WriteLineIf(LogLevel.Verbose, _log_props, string.Format("A virtual file is created at {0}", readPath.PathString)); return(virtualFile); }
/// <summary> /// Reads the virtual file from the specified path. /// </summary> /// <param name="path">The path.</param> /// <returns></returns> public VirtualFile ReadVirtualFile(VirtualPath path) { var shadowPath = _pathFactory.CreateShadowFullPath4Read(path); if (File.Exists(shadowPath.PathString)) { var vf = XmlUtil.ReadXml <VirtualFile>(shadowPath.PathString); return(vf); } else { // This is an erroneous situation where you think the file exists but no virtual file // presents. throw new Exception(); } }