为一个程序集获取两个不同的 GUID

Getting two different GUIDs for an Assembly

让这段代码:

Dim GUID as String
Dim GUID2 as String
GUID  = "{" & _
          System.Reflection.Assembly.LoadFrom(binpath). _
            GetCustomAttributes _
              (GetType(Runtime.InteropServices.GuidAttribute), _
               True)(0).Value.ToString.ToUpper & "}"
GUID2 = "{" & _
          Reflection.AssemblyName. _
            GetAssemblyName(binpath).GetType.GUI‌D.ToString() & "}"

为什么 GUIDGUID2 的值不同?

编辑:这里,binpath 指向一个(COM 可见).NET dll

GetAssemblyName(binpath).GetType.GUI‌D.ToString()returns the GUIDType;它与 typeof(AssemblyName).GUID 相同(在 C# 中;我不知道如何在 VB.NET 中编写它),这可能不是您想要的。