我正在尝试使用ILASM
,过程似乎会中止以下消息:
***** FAILURE *****
如何找出失败的原因?我可以打开详细消息,还是有可以查看的日志文件?
答案 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',您将看到真相。