/// <summary> /// Writes data for this dependency cache to disk /// </summary> private void Write() { DirectoryReference.CreateDirectory(Location.Directory); using (FileStream Stream = File.Open(Location.FullName, FileMode.Create, FileAccess.Write, FileShare.Read)) { using (BinaryArchiveWriter Writer = new BinaryArchiveWriter(Stream)) { Writer.WriteInt(CurrentVersion); Writer.WriteInt(FileToIncludeInfo.Count); foreach (KeyValuePair <FileItem, IncludeInfo> Pair in FileToIncludeInfo) { Writer.WriteCompactFileItem(Pair.Key); Writer.WriteLong(Pair.Value.LastWriteTimeUtc); Writer.WriteString(Pair.Value.IncludeText); } Writer.WriteInt(FileToReflectionInfo.Count); foreach (KeyValuePair <FileItem, ReflectionInfo> Pair in FileToReflectionInfo) { Writer.WriteCompactFileItem(Pair.Key); Writer.WriteLong(Pair.Value.LastWriteTimeUtc); Writer.WriteBool(Pair.Value.bContainsMarkup); } } } bModified = false; }
public void Write(BinaryArchiveWriter Writer) { Writer.WriteLong(LastWriteTimeUtc); Writer.WriteList <FileItem>(Files, File => Writer.WriteCompactFileItem(File)); }