在vs2013中从IIS Express更改为本地IIS时,LoadLibrary在WCF中失败

本文关键字:IIS LoadLibrary WCF 失败 中从 vs2013 Express | 更新日期: 2023-09-27 18:17:37

我有一个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:'path'to'file.dll"),就像我说的,在IIS Express中工作得很好,但在本地IIS中错误126失败。

我已经这样做了,所以用户组有包含dll的目录的完全权限(因为我相信IIS工作进程与用户组权限操作),但这也没有帮助我。

任何帮助将不胜感激!如果我错过了上面的一些信息,让我知道,我可以得到什么是需要的。谢谢!

在vs2013中从IIS Express更改为本地IIS时,LoadLibrary在WCF中失败

我找到了解决这个问题的方法。由于用户(IIS应用程序池具有LocalSystem)身份的变化,以及作为我的用户(我登录的帐户)安装的依赖项,我不得不将该依赖项的路径添加到系统的"path"环境变量中。