失败使用ilasm,但没有给出理由

时间:2013-08-01 02:02:46

标签: .net compilation ilasm

我正在尝试使用ILASM,过程似乎会中止以下消息:

***** FAILURE *****

如何找出失败的原因?我可以打开详细消息,还是有可以查看的日志文件?

3 个答案:

答案 0 :(得分:6)

虽然我意识到这可能为时已晚,无法帮助提问作者,但我会在这里留下这些细节以防将来帮助某人。

我最近遇到了类似的问题,Ildasm使我能够将一些DLL反汇编为IL,但是Ilasm 让我将它们重新组装成DLL。就像问题作者一样,我的控制台输出非常无益,只是陈述:

***** FAILURE *****

但没有列出任何理由。

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

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


更新>>>

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

Assembled method Namespace.SubNamespace.ClassName::MethodName

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

Creating PE file   

Emitting classes:

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

ilasm输出了很多废话信息,只需重定向它们即可。

运行'ilasm.exe .....> 1.txt',您将看到真相。