当代码部署在IIS 6.0和windows server 2003上时,LoadLibraryEx在c#中返回0

本文关键字:上时 LoadLibraryEx 返回 2003 windows 部署 代码 IIS server | 更新日期: 2023-09-27 17:50:47

我得到LoadLibraryEx的返回值为"0"后,我的web服务代码已部署在IIS 6.0上,这是在windows server 2003盒子上。我有原始的代码在windows xp(本地)这是工作良好,不是这个LoadLibraryEx返回0。我完全困惑了,不知道为什么现在它在IIS 6.0上部署时返回零。

IntPtr handle = LoadLibraryEx(dllFullPath, IntPtr。

0, 0 x00000008);当我使用Marshal.GetLastWin32Error()

当代码部署在IIS 6.0和windows server 2003上时,LoadLibraryEx在c#中返回0

时,

获得14001的返回值

错误是ERROR_SXS_CANT_GEN_ACTCTX

应用程序启动失败,因为它的并行配置不正确。有关详细信息,请参阅应用程序事件日志或使用命令行sxstrace.exe工具。

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

我的猜测是问题框缺少适当的MSVC运行时。确保部署了您试图加载的DLL所使用的MSVC运行时。这显然是在调试问题之前首先要尝试的事情。