前面我们讨论了 ngen 生成的 ni 文件的还原,以及它的加强保护方式阻止还原。
今天我在测试一个 ORM 程序时发现, 用加强保护模式的 ni 文件运行会出现
BadImageFormat 的 异常。

我用ORM程序测试 HVM 核心,顺便也测试了一下加强保护模式的 ni 文件 。

在前文 .Net Native Image 还原的原理和加强保护的方法 中提到了可以通过擦除原始ILCode来加强 ni 文件的保护,让其无法还原。

我用这种模式处理了 这个ORM 程序,在进行数据操作时出现了 BadImageFormat 的异常。

然后我又用普通模式(不擦除ILCode)生成了一个 ni 文件,运行一切正常。

初步估计问题应该出在 ORM 模块,程序界面操作都没有出问题,就在数据库操作是出错。

具体原因还不太清楚,ORM 最大的特性是大量使用了反射,不知道是不是反射的原因造成的?

我之前曾测试过一些简单的使用反射的程序,也没有出现过这样的问题。

估计 AOP 的程序 也会有这样的问题...

感兴趣的朋友可以自己试试.

相关文章:

  • 2021-11-01
  • 2022-12-23
  • 2022-12-23
  • 2022-01-18
猜你喜欢
  • 2022-02-19
  • 2021-05-17
  • 2021-12-24
  • 2021-06-03
  • 2021-09-20
  • 2021-10-08
相关资源
相似解决方案