2013-08-23 38 views
0

我有一些dll的問題。當我沒有使用lib文件(我需要)製作dll時,一切都很好。但是,當我試圖使用一些功能dll使用功能lib然後出現一些異常:在dll中使用lib for c#

System.DllNotFoundException, cant load a dll module (exception from HRESULT:0x8007007E). 

dll文件是在正確的位置。 P.S.使用Visual Studio 2010.

什麼可能是錯誤的?

+0

所以你的意思是你正試圖在lib文件中使用一些不存在的方法? –

回答

0

如果你正在創建一個新類,你應該引用默認的dll。 在你創建一個新的類庫並想在你的代碼中使用一個消息框的例子中,你應該首先在你的程序中引用那個需要的dll(我不是指你的dll,我的意思是dot net默認的dll,比如system.windows.forms ),然後添加使用的東西;在你的班級的頂部。

例如:我們希望在類庫中使用messagebox,然後: 1.首先從解決方案資源管理器中右鍵單擊項目>添加引用,現在引用管理器從左側選項卡打開,然後單擊程序集,然後查找並選擇系統。現在Windows.Forms的 2.它的時間在我們的程序中使用它第一次在類文件

using System.Windows.Forms; //add this line in top of your class 

的最頂端添加此行之後,我們可以使用的MessageBox沒有任何編譯器錯誤。

記住任何其他的dll文件應參照這種方式,但Windows窗體應用程序默認的lib文件默認情況下,引用的問題

0

更多細節將讓你更好的答案。但是對於當前的信息,最可能的原因是您正在引用的lib文件或其某個依賴項不可用。這可能是因爲它不在您的GAC或您的運行時位置,文件格式衝突或許多其他事情。

我假設一切編譯沒有錯誤,當然。如果這不是您需要的,請再次添加詳細信息。