public static byte[] GetPublicKeyToken(IAssemblyName name)
{
byte[] result = new byte[8];
uint bufferSize = 8;
IntPtr buffer = Marshal.AllocHGlobal((int) bufferSize);
name.GetProperty(ASM_NAME.ASM_NAME_PUBLIC_KEY_TOKEN, buffer, ref bufferSize);
for (int i = 0; i < 8; i++)
result[i] = Marshal.ReadByte(buffer, i);
Marshal.FreeHGlobal(buffer);
return result;
}