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

CJ7*_*CJ7 2 .net compilation ilasm

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

***** FAILURE *****
Run Code Online (Sandbox Code Playgroud)

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

She*_*dan 6

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

我最近也有类似的问题,即Ildasm使我能够分解一些DLL文件离子液体,但Ilasm不会让我重新组合成的DLL.就像问题作者一样,我的控制台输出非常无益,只是声明:

***** FAILURE *****
Run Code Online (Sandbox Code Playgroud)

但没有任何理由列出.

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

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


更新>>>

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

Assembled method Namespace.SubNamespace.ClassName::MethodName
Run Code Online (Sandbox Code Playgroud)

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

Creating PE file   

Emitting classes:
Run Code Online (Sandbox Code Playgroud)

  • 另一个原因是,如果您尝试使用 .pfx 文件而不是 .snk 作为密钥。[本文](http://ianpicknell.blogspot.com/2009/12/adding-strong-name-to-third-party.html) 展示了如何从 .pfx 获取 .snk:`SN -p MyCertificate.pfx MyCertificate-publickey.snk` (4认同)