2011-12-15 97 views
1

前言:我基本上對C#一無所知。 我已經添加了一個DLL到我的項目。我沒有構建錯誤,但是當我嘗試運行時,出現錯誤,說它無法找到dll。我試着將它複製到輸出目錄。無濟於事。C#:添加DLL參考

任何想法可能發生什麼?

具體錯誤:

System.IO.FileNotFoundException was unhandled Message=Could not load file or assembly 'controllib_clr.dll' or one of its dependencies. The specified module could not be found. Source=controllib_demo_cs...

我會很高興地添加更多的信息如果需要的話。 :)我只是不知道什麼信息會有利於我的(非常)有限的知識。

+0

你有沒有在你的代碼背後使用這些庫?我做的是 – tmjam 2011-12-15 21:21:15

+0

。它在函數使用dll中的任何類之前調用​​。 – 2011-12-15 21:22:13

+0

只需要確認,你是否通過在解決方案資源管理器中右鍵單擊項目名稱並單擊「添加引用」並瀏覽它(或其他類似的方法)來將該程序集添加到項目中,或者只是將.dll複製到你的文件夾結構? – JOpuckman 2011-12-15 21:22:55

回答

0

如果它存在,在您的輸出文件夾中,那麼很可能是其缺少的其依賴關係之一。您可以通過在項目中添加其依賴項作爲參考來解決此問題。

如果您的輸出中不存在,請檢查在參考的屬性中設置了「複製本地」。

0

它是一個管理(.NET)或不受控(原生)DLL是無法找到/加載一些dll的依賴,我將使用DependencyWalker找出?我假設不受管理。

FileNotFoundException在缺少依賴項時通常會引發。您正在加載的DLL可能需要加載任意數量的其他DLL。在大多數情況下,它不會告訴你它需要哪個文件。您必須參考該DLL的文檔。