internal static AssemblyRef Read(PEReader buff)
{
ushort majVer = buff.ReadUInt16();
ushort minVer = buff.ReadUInt16();
ushort bldNo = buff.ReadUInt16();
ushort revNo = buff.ReadUInt16();
uint flags = buff.ReadUInt32();
byte[] pKey = buff.GetBlob();
string name = buff.GetString();
string cult = buff.GetString();
byte[] hBytes = buff.GetBlob();
AssemblyRef assemRef;
if (name.ToLower() == "mscorlib") {
assemRef = MSCorLib.mscorlib;
assemRef.AddVersionInfo(majVer,minVer,bldNo,revNo);
assemRef.AddHash(hBytes);
if (pKey.Length > 8) assemRef.AddKey(pKey);
else assemRef.AddKeyToken(pKey);
assemRef.AddCulture(cult);
assemRef.SetFlags(flags);
} else {
assemRef = new AssemblyRef(name,majVer,minVer,bldNo,revNo,flags,pKey,cult,hBytes);
}
return assemRef;
}