当x64-dll运行的系统肯定是64位系统时,从AnyCpu dll引用x64-dll是有效的方案吗?
我问,因为我在这里有问题,得到了一个例外,如下所示:
“无法加载文件或程序集'XY‘或其dependencies.An尝试之一是加载格式不正确的程序
在过去的几年里,我用不同的方法解决了好几次这个问题。有时它似乎有效,有时却不起作用。
发布于 2015-07-08 17:01:48
AnyCPU程序集以x64 DLL为目标完全有效。但是,您需要确保AnyCPU程序集实际上是作为x64进程执行的。
请注意,Visual的后期版本在程序集中添加了“偏好32位”选项。因此,您需要确保这是关闭的,并且您没有在机器上使用任何会覆盖该设置的设置。
还请注意,如果AnyCPU程序集引用了目标计算机上可能仅作为x86程序集可用的其他程序集,则它将作为x86进程运行。
坦率地说,如果您知道只希望进程以x64的形式运行,那么将其编译为x64是最有意义的。至少这样,如果您最终在不兼容的环境中运行它,您将得到更好的错误消息(即事件日志将包含有关与您的进程不兼容的依赖项的信息,而不是其他一些与预期的依赖关系)。
https://stackoverflow.com/questions/31289345
复制相似问题