2009-04-17 21 views
0

在自定義生成的程序集上運行PEVerify時,出現此錯誤。PEVerify MD錯誤:0x8013124C

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

除了這個(和其他196個完全相同的錯誤),沒有元數據和IL的問題。它也可以正常工作。

我一直無法追查它來自哪裏(因爲它不會以任何方式影響裝配)。

谷歌,不幸的是並沒有透露這個錯誤。

有人可以提供一些關於這個'錯誤'的看法,以及它是如何造成的?

謝謝:)

+0

您是否使用Mono.Cecil來生成程序集? – 2009-04-17 12:23:36

回答

1

我解決了這個問題。

這是由發射方法與另一個確切的簽名引起的。

UPDATE

這同樣適用於任何成員。因此,在混淆程序集上運行時,這可能會具有相同的MD錯誤。

0

這聽起來像peverify認爲,你必須在裝配元數據重複的方法行。我閱讀了您使用Reflection.Emit生成程序集的評論。這聽起來像你可能重新使用方法定義來生成,而不是爲每個方法創建一個新方法。

相關問題