簡體   English   中英

“在簽名中非法使用'void'類型”是什么意思?

[英]What does “Illegal use of type 'void' in signature” mean?

我有一個正在生成程序集的編譯器。 當我加載程序集並嘗試在其類位於該程序集中的對象上運行方法時,它將引發異常:

System.InvalidProgramException:公共語言運行時檢測到無效程序。

隨着錯誤消息的流逝,這僅與UR COMPILER SUXX0RZ LOLOLOL!!!完全一樣UR COMPILER SUXX0RZ LOLOLOL!!! 在MSDN上查找時表示的是同一件事:編譯器有問題。

因此,我嘗試在生成的程序集上運行PEVerify,並得到了一條稍微有用的消息:

[MD]:錯誤:在簽名中非法使用“ void”類型。 [令牌:0x11000002]

不幸的是,它什么也沒說,例如什么簽名有非法的void 您知道,這對於跟蹤報告的錯誤很有用...

在ILDASM中打開它,我看不到任何明顯錯誤的空隙,所以下一步是什么? 我從哪里去找出我的編譯器做錯了什么?

您可以對IL DASM使用/TOKENS參數。 這使得IL DASM可以將令牌的值顯示為注釋。 從PEVerify錯誤消息中獲得令牌的值,您可以輕松地找到程序集的問題元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM