2017-02-11 323 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以让他知道。

相关问题