繁体   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