2

我正在尝试使用ILASM,并且该过程似乎中止并显示以下消息:

***** FAILURE *****

我怎样才能找出它失败的原因?我可以打开详细消息还是可以查看日志文件?

4

3 回答 3

7

虽然我意识到现在帮助问题作者可能为时已晚,但我会将这些细节留在这里,以防将来对某人有所帮助。

我最近遇到了一个类似的问题,Ildasm我可以将一些 DLL 反汇编为 IL,但Ilasm不允许将它们重新组装成 DLL。像问题作者一样,我的控制台输出非常无用,只是说明:

***** FAILURE *****

但没有列出任何原因。

就我而言,这是一个简单的错误,我将我的强名称密钥文件复制到了错误的目录中。在我意识到并将其放入正确的位置后,Ilasm可以成功访问它,因此能够重新组装我的 DLL。

我认为在错误输出中没有提到这个基本错误真是太遗憾了......这是我认为出错的第一件事......或者也许这就是它没有被列出的原因...... . 因为它很容易修复?


更新>>>

您可以判断您是否有这个确切问题的一种方法是查看控制台窗口输出...没有有效的强名称密钥文件,在组装方法...Ilasm部分的末尾停止,例如。行都会有以下(或类似的):

Assembled method Namespace.SubNamespace.ClassName::MethodName

如果您的输出中有以下几行,那么您可能遇到与此不同的问题,因为当没有强名称密钥文件时,输出中应该缺少它:

Creating PE file   

Emitting classes:
于 2014-03-17T16:02:51.017 回答
0

运行 ilasm.exe 时失败的原因是 .il 文件路径中包含的文件夹名称包含空格。

解决方案是在整个路径周围放置双引号。

于 2017-01-22T00:37:39.813 回答
0

ilasm 输出这么多垃圾信息,只需重定向它们。

运行'ilasm.exe ..... > 1.txt',你会看到真相。

于 2020-04-12T04:19:07.377 回答