2013-05-19 140 views
5

某些用戶(我會說這是〜10%)在嘗試運行用C#編寫的應用程序時遇到問題(.NET 4.0) - 應用程序啓動時出現此類錯誤發生:C#應用程序啓動時出錯 - 無法加載文件或程序集

Could not load file or assembly 'lua51.dll'. Such module could not be found. 

- 這是翻譯,所以在ENG版本中它可能是類似的。

問題是,大多數用戶不會遇到此問題,並且lua51.dll存在於程序目錄中。可能是這個錯誤的原因是什麼?

我在我的project-> bulid選項中設置了Platform:x86,發生錯誤。

+5

有問題的人有可能是有64位機器的人嗎?當從64位程序集引用時,Lua51.dll是有問題的。 – KingCronus

+0

請參閱:http://stackoverflow.com/questions/6856826/c-sharp-external-library-lua-call-problem/6901114#6901114 – KingCronus

+0

我已經在我的項目中設置了Platform:x86-> bulid選項。 – user1792042

回答

9

這是一個常見問題,太多程序員只是複製DLL而沒有意識到lua51.dll本身也需要安裝依賴的dll。來自Windows的錯誤消息令人傷心無益,它並沒有報告問題的真正原因。 Applciation日誌中有一個事件,但沒有足夠的用戶查看它。

不幸的是,這經常不會出錯,很多機器已經有可用的依賴DLL。然而,這是一個意外,你不能依賴它。這些可能性越來越低,依賴性越來越大。

你需要閱讀Install Notes知道需要什麼:

的Lua爲Windows和它的模塊都依賴於MSVC++ 2005運行庫。如果您沒有在您的計算機上安裝運行時,Lua for Windows安裝將自動下載此運行時併爲您安裝。運行時間包含在文件中vcredist_x86.exe

所以要麼依靠Lua安裝程序,要麼自己安裝vcredist。

+0

謝謝,我會看看它 – user1792042

相關問題