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依赖的文件。这就是问题所在。

我需要让我的用户安装哪些文件才能让这个工作正确地运行?

原文链接 https://stackoverflow.com/questions/7817517

点赞
stackoverflow用户192042
stackoverflow用户192042

你可以通过使用 Fusion Binding 日志来进行分析。可以在命令行中完成,记录到文件中,或通过 GUI 接口 (FUSLOGVW.exe) 查看。从 这里 开始,看看是否能让你入门。

2011-10-19 07:08:34
stackoverflow用户111821
stackoverflow用户111821

如果您的开发系统和有问题的系统不是相同的架构(32位→64位),它可能会引起问题。我在C#外部库(Lua)调用问题上回答了一个类似的问题。

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

2011-10-27 19:07:50
stackoverflow用户1070906
stackoverflow用户1070906

我遇到了同样的问题。

我通过安装来自 Microsoft 的 vcredist_x86.exe (Visual C++ 2010 Redistributable Package)解决了这个问题,它会把需要的 DLL 添加到系统中。

我尝试使用 /MT 选项编译 lua51.dll,但是这个选项与 /CLR 选项不兼容,而后者是必须的。 然后我尝试安装 2008 年版本的 redist 包(就像 LuaInterface 网站上说的那样),但是这并没有起作用(也许我自己使用 VS 2010 编译了 lua - 我不确定了)。2010 年版本解决了我的问题。

2012-10-22 11:18:00