0

LoadLibraryEx在我的 web 服务代码部署在 windows server 2003 框上的 IIS 6.0 上后,我得到的返回值为“0”。我在 windows xp(local) 中有原始代码,它工作正常并且没有为此返回 0 LoadLibraryEx。我完全感到困惑,不知道为什么当它部署在 IIS 6.0 上时它现在返回零。

IntPtr 句柄 = LoadLibraryEx(dllFullPath, IntPtr.Zero, 0x00000008);

当我使用 Marshal.GetLastWin32Error() 时得到返回值 14001

4

1 回答 1

2

那个错误是ERROR_SXS_CANT_GEN_ACTCTX

应用程序无法启动,因为它的并排配置不正确。请查看应用程序事件日志或使用命令行 sxstrace.exe 工具了解更多详细信息。

在您的场景中使用 sxstrace.exe 可能有点棘手。当然值得检查事件日志以查看它们是否包含线索。

我的猜测是问题框缺少适当的 MSVC 运行时。确保部署您尝试加载的 DLL 使用的 MSVC 运行时。在尝试调试问题之前,这是显而易见的第一件事。

于 2013-01-04T21:14:22.787 回答