在vs2013中从IIS Express更改为本地IIS时,LoadLibrary在WCF中失败
LoadLibrary fails in WCF when changed from IIS Express to Local IIS in VS 2013
我有一个wsHttpBinding的WCF服务,它加载一个c++ dll(它有自己的依赖项,如CUDA),当通过IIS Express托管时效果很好。当我在项目属性中将其切换到本地IIS时,
LoadLibrary function fails with error 126.
我已经将system32中的每个dll移动到inetsrv(尝试过system32/inetsrv和sysWOW64/inetsrv)目录(我知道这不是最好的方法,但我想知道这是否是问题),但这并没有解决问题。
我试图加载的dll不在这些目录中的任何一个(从未有过),我给LoadLibrary dll的路径(即。"C:pathtofile.dll"),就像我说的,在IIS Express中工作得很好,但在本地IIS中错误126失败。
我已经这样做了,所以用户组有包含dll的目录的完全权限(因为我相信IIS工作进程与用户组权限操作),但这也没有帮助我。
任何帮助将不胜感激!如果我错过了上面的一些信息,让我知道,我可以得到什么是需要的。谢谢!
我找到了解决这个问题的方法。由于用户(IIS应用程序池具有LocalSystem)身份的变化,以及作为我的用户(我登录的帐户)安装的依赖项,我不得不将该依赖项的路径添加到系统的"path"环境变量中。
相关文章:
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- Windows 链接器是否使用 LoadLibrary 解析 DLL 中未定义的符号?
- 如何将 std::filesystem::p ath 转换为 LPCSTR,以便在 LoadLibrary() 变体之一
- 为什么 LoadLibrary 失败,而 LoadLibraryA 成功加载 DLL?
- 如何链接 DLL 以供 LoadLibrary() 使用(在 Windows 上的 C++ 中)并从调用 exe 导入变
- 从DLL导出函数,LoadLibrary()需要用TEXT转换的字符串才能编译而不会出错
- LoadLibrary:在发布模式下崩溃
- Java System.loadLibrary 不会在 /usr/lib/x86_64-linux-gnu/ 文件夹中查
- LoadLibrary('user32.dll') 返回 14007
- 调试通过 LoadLibrary() 加载到 Excel 中的C++ DLL
- java native loadLibrary 无法加载库 - Linux fedora25 java8
- C 中的简单现代跨平台Dlopen/LoadLibrary包装器
- 使用 LoadLibrary 返回 0,Win32Error 193
- C++单元测试项目 LoadLibrary 失败,出现"序号未找到"错误
- 我可以在 Win32 DLL 中使用 LoadLibrary 吗?
- 哪种方法更好获取静态链接DLL的模块句柄(HMODULE) - 使用GetModuleHandleEx()或LoadLibrary()?
- LoadLibrary失败带有错误4250:此操作仅在应用程序容器的上下文中有效
- IIS不会运行C CGI程序
- winapi函数loadLibrary()导致函数在执行错误期间失败
- 在vs2013中从IIS Express更改为本地IIS时,LoadLibrary在WCF中失败