Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我们编写 Assembly asm = AppDomain.CurrentDomain.Load(SomeByteArray);
当 SomeByteArray 从 .net .exe 读取时一切正常,而从 c++ 读取时,错误。
使用 .net exe 这个功能很重要吗?
如果是,请以其他方式执行此操作。
谢谢
调用程序集和您正在加载的程序集是同一种构建(x86、x64 或 AnyCpu)吗?您可以通过在 ILDASM 中查看它们来检查构建(查看清单,滚动到底部并查找标记)。
如果您自己构建了这两个程序集,那么只需检查项目的属性页以了解您是如何构建它的。
您必须确保它们相同,或者如果 .exe 是 AnyCpu,那么您正在加载的程序集必须与操作系统匹配。这意味着它必须是 32 位操作系统上的 x86 或 64 位操作系统上的 x64。
(这都是假设 SomeByteArray 是从文件中正确加载的)