/// <summary> /// Writes all .NET Micro Framework metadata into output stream. /// </summary> /// <param name="binaryWriter">Binary writer with correct endianness.</param> public void Write( TinyBinaryWriter binaryWriter) { var header = new TinyAssemblyDefinition(_tablesContext); header.Write(binaryWriter, true); foreach (var table in GetTables(_tablesContext)) { var tableBegin = (binaryWriter.BaseStream.Position + 3) & 0xFFFFFFFC; table.Write(binaryWriter); var padding = (4 - ((binaryWriter.BaseStream.Position - tableBegin) % 4)) % 4; binaryWriter.WriteBytes(new Byte[padding]); header.UpdateTableOffset(binaryWriter, tableBegin, padding); } binaryWriter.BaseStream.Seek(0, SeekOrigin.Begin); header.Write(binaryWriter, false); }