Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 是否有一种简单的方法来解码和验证错误和警告?_.net_Peverify - Fatal编程技术网

.net 是否有一种简单的方法来解码和验证错误和警告?

.net 是否有一种简单的方法来解码和验证错误和警告?,.net,peverify,.net,Peverify,给定下面这样的错误和警告输出,如何追溯到有问题的类和接口名称?假设我不是编译器作者或IL魔术师 [MD]: Error: Class implements interface but not method (class:0x02000091; interface:0x06000169;method:0x00000000). [token:0x09000043] [MD]: Warning: MemberRef has a duplicate, token=0x0a0001ff. [token:0

给定下面这样的错误和警告输出,如何追溯到有问题的类和接口名称?假设我不是编译器作者或IL魔术师

[MD]: Error: Class implements interface but not method (class:0x02000091; interface:0x06000169;method:0x00000000). [token:0x09000043]
[MD]: Warning: MemberRef has a duplicate, token=0x0a0001ff. [token:0x0A000060]

使用ILDASM并加载有问题的程序集。转到查看->元信息->显示!这将打开一个文本查看器,显示程序集元数据的可读版本。搜索十六进制标识符(但跳过“0x”部分)以查找相关的类、接口和方法。

如果您不是编译器作者或IL黑客,您是如何生成具有这些问题的程序集的。NET编译器在所有情况下都会生成有效的程序集(除了C的编译器错误)@thecoop自从最初发布这个问题以来,我已经确定这些错误是在第三方程序集中。该程序集是一个OSS项目生成,因此仍希望跟踪该程序集。@很可能在实现该程序集时出现这些错误。这就是我们案例中的原因,我们已经在使用此技巧的第二个程序集(Autofac和Moq)上验证了这一点。显然,MS已经意识到了这个问题,并且它似乎是PEVerify中的一个错误。有没有任何方法可以通过编程实现这一点?PE文件格式,其标题包含此信息,有很好的文档记录,并且在windows SDK的windows头文件中定义了结构,其中大多数都是用于PInvoke映射的C#结构。下面是一些用于读取该标题不同部分的代码: