代码之家  ›  专栏  ›  技术社区  ›  leppie

peverify md错误:0x8013124c

  •  0
  • leppie  · 技术社区  · 15 年前

    在自定义生成的程序集上运行peverify时,我会得到这个“错误”。

    [MD](0x8013124C): Error: Method has a duplicate, token=0x06000023. 
                             [token:0x06000021]
    [MD](0x8013124C): Error: Method has a duplicate, token=0x06000021. 
                             [token:0x06000023]
    

    除此之外(以及其他196个完全相同的错误),元数据和IL没有问题。它也能正常工作。

    我无法追踪它的来源(因为它不会以任何方式影响组装)。

    不幸的是,谷歌并没有透露太多关于这个错误的信息。

    有人能提供一些关于这个“错误”以及它是如何引起的见解吗?

    谢谢)

    2 回复  |  直到 15 年前
        1
  •  1
  •   leppie    15 年前

    我解决了这个问题。

    它是由使用另一个方法的确切签名发出方法引起的。

    更新

    这适用于任何成员。因此,在模糊的程序集上运行时,可能会出现相同的MD错误。

        2
  •  0
  •   JaredPar    15 年前

    听起来,peverify认为程序集元数据中有重复的方法行。我在注释中看到您正在使用Reflection.Emit生成程序集。听起来您可能正在使用方法定义进行生成,而不是为每个方法创建一个新的方法定义。