зеркало из https://github.com/mono/ikvm-fork.git
Now that AssemblyBuilder returns a proper AssemblyName we don't need these hacks here anymore.
This commit is contained in:
Родитель
f81db0da75
Коммит
05a8a21fcd
|
@ -603,21 +603,13 @@ namespace IKVM.Reflection.Emit
|
||||||
if (!referencedAssemblies.TryGetValue(asm, out token))
|
if (!referencedAssemblies.TryGetValue(asm, out token))
|
||||||
{
|
{
|
||||||
TableHeap.AssemblyRefTable.Record rec = new TableHeap.AssemblyRefTable.Record();
|
TableHeap.AssemblyRefTable.Record rec = new TableHeap.AssemblyRefTable.Record();
|
||||||
Version ver = asm.Version ?? new Version(0, 0, 0, 0);
|
Version ver = asm.Version;
|
||||||
rec.MajorVersion = (short)ver.Major;
|
rec.MajorVersion = (short)ver.Major;
|
||||||
rec.MinorVersion = (short)ver.Minor;
|
rec.MinorVersion = (short)ver.Minor;
|
||||||
rec.BuildNumber = (short)ver.Build;
|
rec.BuildNumber = (short)ver.Build;
|
||||||
rec.RevisionNumber = (short)ver.Revision;
|
rec.RevisionNumber = (short)ver.Revision;
|
||||||
rec.Flags = 0;
|
rec.Flags = 0;
|
||||||
byte[] pubkey = asm.GetPublicKeyToken();
|
rec.PublicKeyOrToken = this.Blobs.Add(ByteBuffer.Wrap(asm.GetPublicKeyToken()));
|
||||||
if (pubkey == null && asm.KeyPair != null)
|
|
||||||
{
|
|
||||||
pubkey = GetPublicKeyToken(asm.KeyPair);
|
|
||||||
}
|
|
||||||
if (pubkey != null)
|
|
||||||
{
|
|
||||||
rec.PublicKeyOrToken = this.Blobs.Add(ByteBuffer.Wrap(pubkey));
|
|
||||||
}
|
|
||||||
rec.Name = this.Strings.Add(asm.Name);
|
rec.Name = this.Strings.Add(asm.Name);
|
||||||
rec.Culture = 0;
|
rec.Culture = 0;
|
||||||
rec.HashValue = 0;
|
rec.HashValue = 0;
|
||||||
|
@ -627,16 +619,6 @@ namespace IKVM.Reflection.Emit
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
private byte[] GetPublicKeyToken(StrongNameKeyPair strongNameKeyPair)
|
|
||||||
{
|
|
||||||
SHA1Managed sha1 = new SHA1Managed();
|
|
||||||
byte[] hash = sha1.ComputeHash(strongNameKeyPair.PublicKey);
|
|
||||||
byte[] token = new byte[8];
|
|
||||||
Buffer.BlockCopy(hash, hash.Length - 8, token, 0, 8);
|
|
||||||
Array.Reverse(token);
|
|
||||||
return token;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal void WriteSymbolTokenMap()
|
internal void WriteSymbolTokenMap()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < resolvedTokens.Count; i++)
|
for (int i = 0; i < resolvedTokens.Count; i++)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче