LuaInterface - FileNotFoundException

时间:2011-10-19 06:45:14

标签: c# lua clr luainterface

我正在尝试在我的.NET 4.0应用程序中使用Lua系统。我使用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所依赖的文件。这就是问题所在。

我需要哪些文件才能让我的用户安装才能使其正常工作?

3 个答案:

答案 0 :(得分:0)

您可以使用Fusion Binding日志记录对此进行分析。这可以在命令行,记录到文件或通过GUI界面(FUSLOGVW.exe)查看。开始here并查看是否可以帮助您入门。

答案 1 :(得分:0)

如果您的开发系统和出现问题的系统不是相同的架构(32位 - > 64位),则可能会导致问题。我在C# external library (Lua) call problem

回答了类似的问题

“我在.NET,LuaInterface和Lua5.1上在64位机器上进行交互时遇到了很多问题.Lua5.1只编译32位,这要求你(我相信)将LuaInterface项目构建为也是32位。尝试更改“项目 - >属性 - >构建 - >平台目标在您的.NET项目中“到”x86“。

答案 2 :(得分:0)

我遇到了同样的问题。

我通过从microsoft安装vcredist_x86.exe(Visual C ++ 2010 Redistributable Package)解决了这个问题,它将所需的DLL添加到系统中。

我尝试使用/ MT选项编译lua51.dll,但此选项与/ CLR选项不兼容,这是必需的。 然后我尝试安装redist包2008(就像LuaInterface站点说的那样)没有用(也许我自己用VS 2010编译lua - 我不知道了)。 2010版本解决了我的问题。