我正在尝试让Lua系统在我的.NET 4.0应用程序中工作。我使用LuaInterface作为Lua的包装器,它是在.NET 4.0下编译的
在我的安装了VS2010的开发计算机上运行Lua脚本时,应用程序运行得非常好。但是当在另一台计算机上运行它时,我得到了一个FileNotFoundException。
System.IO.FileNotFoundException: Could not load file or assembly 'lua51.dll' or one of its dependencies. The specified module could not be found.
lua51.dll与应用程序在同一个文件夹中,所以我看不出有任何问题。所以这一定意味着它找不到lua51.dll所依赖的文件。这就是问题所在。
我需要让我的用户安装哪些文件才能使其正常工作?
发布于 2011-10-19 15:08:34
您可以使用Fusion绑定日志记录对此进行分析。这可以在命令行中完成、记录到文件中或通过图形用户界面(FUSLOGVW.exe)查看。开始使用here,看看这是否能让您开始使用。
发布于 2011-10-28 03:07:50
如果您的开发系统和有问题的系统不是同一体系结构(32位-> 64位),它可能会引起您的问题。我在C# external library (Lua) call problem回答了一个类似的问题
“我在64位计算机上遇到了很多.NET、LuaInterface和Lua5.1交互的问题。Lua5.1只能编译32位,这要求(我相信)您也将LuaInterface项目构建为32位。请尝试在.NET项目中将”项目->属性->构建->平台目标“更改为"x86”。
发布于 2012-10-22 19:18:01
我也有同样的问题。
我通过安装微软的vcredist_x86.exe (Visual C++ 2010 Redistributable Package)解决了这个问题,它会将所需的DLL添加到系统中。
我尝试使用/MT选项编译lua51.dll,但该选项与所需的/CLR选项不兼容。然后我尝试安装redist包2008 (就像LuaInterface网站上说的那样),但是没有工作(也许我自己用VS2010编译了lua --我不知道更多了)。2010版本解决了我的问题。
https://stackoverflow.com/questions/7817517
复制相似问题