我正在尝试从给定的字节数组执行文件,效果很好:
byte[] bytes = File.ReadAllBytes(@"C:\Location\program.exe");
MessageBox.Show(bytes.Length) // The same size for both the VS compiled and CodeDom compiled application
Assembly assembly = Assembly.Load(bytes); //Throws exception when compiled with CodeDOM
此代码在我使用 Visual Studio 生成的应用程序中编译并运行良好。
但是,当我将这段代码添加到使用 CodeDOM 生成的应用程序时,它会引发 BadImageException。
CodeDOM 生成的应用程序可以很好地读取字节,因为两个版本都输出相同的 byte[] 长度。
我尝试将目标框架从 .NET 2.0 更改为 .NET 4.5,我尝试更改目标架构,但无法使其正常工作。
什么可能导致此异常?