今天我在测试一个 ORM 程序时发现, 用加强保护模式的 ni 文件运行会出现
BadImageFormat 的 异常。
我用ORM程序测试 HVM 核心,顺便也测试了一下加强保护模式的 ni 文件 。
在前文 .Net Native Image 还原的原理和加强保护的方法 中提到了可以通过擦除原始ILCode来加强 ni 文件的保护,让其无法还原。
我用这种模式处理了 这个ORM 程序,在进行数据操作时出现了 BadImageFormat 的异常。
然后我又用普通模式(不擦除ILCode)生成了一个 ni 文件,运行一切正常。
初步估计问题应该出在 ORM 模块,程序界面操作都没有出问题,就在数据库操作是出错。
具体原因还不太清楚,ORM 最大的特性是大量使用了反射,不知道是不是反射的原因造成的?
我之前曾测试过一些简单的使用反射的程序,也没有出现过这样的问题。
估计 AOP 的程序 也会有这样的问题...
感兴趣的朋友可以自己试试.
目前发现 fast reflection 有问题。另外发现泛型也有这个问题,不知道还有没有其它的
