Ошибка PEVerify MD: 0x8013124C - PullRequest
       18

Ошибка PEVerify MD: 0x8013124C

0 голосов
/ 17 апреля 2009

Я получаю эту «ошибку» при запуске 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. И это тоже работает правильно.

Мне не удалось отследить, откуда это происходит (поскольку это никак не влияет на сборку).

Google, к сожалению, не раскрывает многое по этой ошибке.

Может ли кто-нибудь дать некоторое представление об этой «ошибке» и как она может быть вызвана?

Спасибо:)

Ответы [ 2 ]

1 голос
/ 19 мая 2009

Я решил проблему.

Это вызвано использованием метода с точной подписью другого.

UPDATE

Это касается любого участника. Следовательно, при запуске на обфусцированных сборках это может привести к той же ошибке MD.

0 голосов
/ 17 апреля 2009

Похоже, что peverify считает, что в метаданных сборки есть повторяющиеся строки методов. Я прочитал в комментариях, что вы используете Reflection.Emit для генерации сборки. Похоже, что вы можете повторно использовать определение метода для генерации, а не создавать новое для каждого метода.

...