public static SharpAssemblyName GetNameOfReference(AssemblyReader asm, uint AsmRefIndex) { SharpAssemblyName name = new SharpAssemblyName(); if ((AssemblyRef[])asm.MetadataTable.Tables[AssemblyRef.TABLE_ID] == null) return name; AssemblyRef aref = ((AssemblyRef[])asm.MetadataTable.Tables[AssemblyRef.TABLE_ID])[AsmRefIndex]; name.Name = asm.GetStringFromHeap(aref.Name); name.Version = new Version(aref.Major, aref.Minor, aref.Build, aref.Revision); name.Culture = asm.GetStringFromHeap(aref.Culture); name.Flags = aref.Flags; name.PublicKey = asm.GetBlobFromHeap(aref.PublicKeyOrToken); return name; }
public static SharpAssemblyName GetAssemblyName(AssemblyReader asm) { SharpAssemblyName name = new SharpAssemblyName(); if ((Rows.Assembly[])asm.MetadataTable.Tables[Rows.Assembly.TABLE_ID] == null) return name; Rows.Assembly arow = ((Rows.Assembly[])asm.MetadataTable.Tables[Rows.Assembly.TABLE_ID])[1]; name.Name = asm.GetStringFromHeap(arow.Name); name.Version = new Version(arow.MajorVersion, arow.MinorVersion, arow.BuildNumber, arow.RevisionNumber); name.Culture = asm.GetStringFromHeap(arow.Culture); name.Flags = arow.Flags; name.PublicKey = asm.GetBlobFromHeap(arow.PublicKey); return name; }
public SharpAssemblyName[] GetReferencedAssemblies() { if (Tables.AssemblyRef == null) return new SharpAssemblyName[0]; SharpAssemblyName[] ret = new SharpAssemblyName[Tables.AssemblyRef.GetUpperBound(0)]; for (int i = 1; i <= Tables.AssemblyRef.GetUpperBound(0); ++i) { AssemblyRef aref = Tables.AssemblyRef[i]; ret[i-1] = new SharpAssemblyName(); ret[i-1].Name = reader.GetStringFromHeap(aref.Name); ret[i-1].Version = new Version(aref.Major, aref.Minor, aref.Build, aref.Revision); ret[i-1].Culture = reader.GetStringFromHeap(aref.Culture); ret[i-1].Flags = aref.Flags; ret[i-1].PublicKey = reader.GetBlobFromHeap(aref.PublicKeyOrToken); ret[i-1].RefId = i; } return ret; }
public SharpAssemblyName GetAssemblyName() { SharpAssemblyName name = new SharpAssemblyName(); if (Tables.Assembly == null) return name; Rows.Assembly arow = Tables.Assembly[1]; name.Name = reader.GetStringFromHeap(arow.Name); name.Version = new Version(arow.MajorVersion, arow.MinorVersion, arow.BuildNumber, arow.RevisionNumber); name.Culture = reader.GetStringFromHeap(arow.Culture); name.Flags = arow.Flags; name.PublicKey = reader.GetBlobFromHeap(arow.PublicKey); return name; }
public static SharpAssembly Load(SharpAssemblyName name) { return Load(name.FullName, Environment.CurrentDirectory); }