簡體   English   中英

在VS 2013中從IIS Express更改為本地IIS時,WCF中的LoadLibrary失敗

[英]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:\\ path \\ to \\ file.dll”),就像我說的那樣,在IIS Express中效果很好,但在本地IIS中失敗並出現錯誤126。

我已經做到了,因此Users組對包含dll的目錄也具有完全權限(因為我相信IIS Worker進程使用Users組權限運行),但這也無濟於事。

任何幫助,將不勝感激! 如果我缺少上面的一些信息,請告訴我,我會得到所需的信息。 謝謝!

我找到了解決此問題的方法。 由於用戶(具有LocalSystem的IIS應用程序池)身份發生了更改,並且以我的用戶身份(我登錄時使用的帳戶)安裝了依賴項,因此我不得不將該依賴項的路徑添加到系統的“路徑”環境變量中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM