我遇到与此处描述的问题相同的问题:
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包进行库项目而不会失败?
答案 0 :(得分: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)复制两个DLL。 -bit)目录与EXE相同的目录。
包装作者可以更好地将这个包装在一起。除了在包中包含DLL之外,更好的解决方案是使用/ MT选项重建lua52.dll,以便链接到这些依赖项。考虑单击New Issue button让他知道。