2011-03-09 55 views
1

我創建了一個C++ dll。它工作正常,並完成這項工作。如何在ASP.NET網站中調用非託管代碼並將其託管在IIS中?

我已經在asp.net中創建了調用C++ dll中的方法的方法。 DLL路徑是絕對的。它也能正常工作。

然後,我將該網站發佈到一個文件夾並在IIS上託管該網站。我收到一條錯誤消息

Exception Details: System.DllNotFoundException: Unable to load DLL 'FilesCreator.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 

請建議我需要做些什麼才能使其正常工作。

+0

這是由相同作者重複提問。 http://stackoverflow.com/questions/5247907/asp-net-c-does-not-work-under-classic-application-pool-mode – ildjarn 2011-03-09 22:03:42

+0

我真的需要一個解決方案,可能是我以前的問題不清楚,因爲我didn沒有得到任何答案 – InfoLearner 2011-03-09 22:07:21

+0

FilesCreator.dll是否複製到網站的/ bin文件夾中? – hova 2011-03-09 22:17:38

回答

1

您是否確認正在運行應用程序的應用程序池的已通過身份驗證的用戶具有讀取和執行DLL的適當權限?

嘗試爲運行IIS7的應用程序池的用戶添加權限。對於IIS6,如果您正在使用匿名身份驗證嘗試向您的網站設置中配置的IIS匿名用戶授予權限。 見here for IIS6here for IIS7

+0

中完美運行,我在完全控制的文件夾的安全選項卡中添加了Everyone組。這應該是正確的? – InfoLearner 2011-03-10 07:45:46

+0

不一定。上面編輯了我的答案。 – 2011-03-10 12:30:24

+0

正在使用網絡服務,沒有任何impsonination。我已經添加了網絡服務和已登錄的用戶在包含該DLL的foler的安全性選項卡中,並且我給了該文件夾上的兩個用戶完全訪問權限。但我沒有成功......我錯過了什麼? – InfoLearner 2011-03-10 23:18:59