2013-04-11 77 views
1

我有一個.NETc# web服務。 在此Web服務的實現,我稱之爲我的.dll庫的功能,我加載以下列方式這 :.net webservice找不到我的DLL文件

[DllImport("myLibrary.dll")] 
extern static myMethod(); 

在哪裏我已經把我的DLL?如果我在我的測試項目中使用這個DLL(它是而不是一個Web服務項目),它可以工作。

否則我有一個錯誤,因爲它無法找到該DLL。

錯誤:

System.DllNotFoundException was unhandled by user code 
    Message=Unable to load DLL 'myLibrary.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 
+1

您是否嘗試將其複製到您部署Web服務的bin目錄? (不要忘記它,你甚至可以將它添加到你的項目中,在文件屬性中的「Copy to output directory」中選擇「Copy if newer」。呃...我不喜歡這個,但是把它當作一個選項)。 – 2013-04-11 10:54:07

+0

是的,我試圖將dll複製到目錄 – Safari 2013-04-11 11:50:49

+0

我複製到myproject的所有子目錄中,但不工作.. 我解決了這種方式:我已經把路徑:C:\ myLibrary.dll ..但.. ..爲什麼? – Safari 2013-04-16 08:45:42

回答

0

這次大會需要在同一目錄中使用它的組件。因此,如果Web服務部署到IIS並且其程序集駐留在bin中,那麼myLibrary.dll也需要在那裏。

+0

dll已經進入我的ws項目的bin目錄 – Safari 2013-04-11 12:02:10

+0

@GgSalent,這是一個非託管程序集(例如一箇舊的C++程序集)嗎? – 2013-04-11 12:07:26

+0

我不明白.. :(我的dll語言是C++ – Safari 2013-04-11 12:11:10

0

您是否在服務器上安裝了「Visual C++可重新分發給Visual Studio」? 如果不是這可能是問題所在。