2017-02-11 174 views
0

我有同樣的問題如下所述:無法加載DLL「lua52」:指定的模塊找不到

https://github.com/NLua/NLua/issues/33

雖然我按照提示創建一個控制檯應用程序...

http://www.screencast.com/t/M12TqePQxW

...當我創建庫項目,並從另一個項目中引用它,其工作得很好,(在這種情況下,一個Web API項目)出現以下錯誤:

Unable to load DLL 'lua52': The specified module could not be found. 

在這一行:

using (var lua = new Lua()) 

如何才能庫項目將與NLua NuGet包而不會失敗?

回答

2

與GitHub問題中所描述的完全相同的問題是,Nuget包缺少兩個需要使用lua52.dll的DLL。一個小的差異,當前的軟件包(版本1.3.2.1)包括使用VS2013構建的更新版本的lua52.dll。因此對msvcr120.dll和msvp120.dll有依賴性。

當Nuget更新您的項目時,請注意這可能會改變。您需要下載並安裝Visual C++ redistributable package for VS2013。運行vcredist_x64.exe和vcredist_x86.exe,以便項目可以在32位或64位模式下運行。

爲避免在想要部署程序的機器上執行此操作,我建議您從c:\ windows \ system32(64位)或c:\ windows \ syswow64( 32位)目錄與EXE相同的目錄。

軟件包作者本可以將這個軟件包放在一起做得更好。由於在包中包含DLL,因此更好的解決方案是讓他使用/ MT選項重建lua52.dll,以便將這些依賴關係鏈接到中。請考慮單擊New Issue button以讓他知道。

相關問題