c# - Assembly.LoadFrom 有效,Assembly.Load 无效
问题描述
我正在尝试使用加载文件,Assembly.Load
但我得到一个 BadImageException,但如果我尝试使用它加载完全相同的程序集Assembly.LoadFrom
。
// this works.
var asm1 = Assembly.LoadFrom(path);
// this throws an exception
var ba = File.ReadAllBytes(path);
var asm2 = Assembly.Load(ba);
从上面的代码可以看出,程序集完全一样,但它适用于Assembly.LoadFrom
但不适用Assembly.Load
可能是什么原因?我怎么Assembly.Load
去上班?
解决方案
Assmebly.Load
与. BadImageException
_ Assembly.LoadFrom(string)
要解决该问题,您必须/fixed:no
在链接时使用。这是Msdn的一段:
反映 C++ 可执行文件可能会引发 BadImageFormatException。这很可能是由 C++ 编译器从可执行文件中剥离重定位地址或 .reloc 部分引起的。要保留 C++ 可执行文件的 .reloc 地址,请在链接时指定 /fixed:no。
推荐阅读
- google-app-maker - 如何在 Google App Maker 中制作静态电台组?
- android - 如何在 Android Studio 中检查/编辑本机方法?
- python - 如何比较男性的总分与女性的总分来获得国家的数量?
- html - Angular Material拖放多个元素
- airflow - 切换后端数据库时打开 Airflow 网络服务器上的 password_auth.py 蘑菇云错误
- swiftui - 一个视图中的多个警报只能在 swiftui 中始终使用最后一个警报
- reactjs - 使用 React 从 API 自动完成的异步请求
- django - 是否可以在不上传文件的情况下保存模型?
- python - 如何在 gurobipy 中实现“或”逻辑
- google-bigquery - BigQuery UDF 定义常量字典并匹配给定的函数参数