gpt4 book ai didi

unmanagedresources - 非托管dll代码

转载 作者:行者123 更新时间:2023-12-02 00:45:34 25 4
gpt4 key购买 nike

我有一个 C#(.NET 3.5、VS2005 Professional)应用程序,它使用用 C/C++ 编写的非托管 32 位库。我使用的 API 是这样的:

void * 初始化(int x);

voic GetData(void *);

当我在 Windows XP 32 位上运行它时这有效,但在 Windows XP64 位上它抛出异常:

未处理的异常:System.Reflection.TargetInvocationException:调用目标抛出异常。 ---> System.BadImageFormatException:尝试加载格式不正确的程序。 (HRESULT 异常:0x8007000B) 在 Aktuelizator.CommonLibrary.InitializeRingBuffer(Int32 暗淡) 在 Aktuelizator.AktuelizatorWService.AktuelizatorWS..ctor()

当从 32 位 unmanages 应用程序 writetn 在 C/C++ 中调用时,这些非托管 DLL 在 64 位 XP 下工作。

有人知道吗?

最佳答案

您的构建配置平台设置为“任何 CPU”,这意味着在 64 位操作系统上它以 64 位运行,您无法加载 dll。将它设置为 x86,这将强制它以 32 位运行,无论操作系统如何,你的 dll 都可以正常加载。

关于unmanagedresources - 非托管dll代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/755411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com