5

一些用户(我会说它是 ~10%)在尝试运行我用 C#(.NET 4.0)编写的应用程序时遇到问题 - 在应用程序启动时会发生这样的错误:

Could not load file or assembly 'lua51.dll'. Such module could not be found.

- 这是翻译,所以在ENG版本中可能是相似的。

问题是大部分用户都没有遇到这个问题,而程序目录中存在lua51.dll。这个错误的原因可能是什么?

我在我的 project->bulid 选项中设置了 Platform: x86,出现错误。

4

1 回答 1

9

这是一个常见的问题,太多的程序员只是复制 DLL 而没有意识到 lua51.dll 本身也有需要安装的依赖 DLL。遗憾的是,来自 Windows 的错误消息没有帮助,它没有报告问题的真正原因。Applciation 日志中有一个事件,但没有足够的用户查看它。

不幸的是,这并没有经常出错,很多机器已经有可用的依赖 DLL。然而,这是一个意外,你不能依赖它。这些几率也越来越低,依赖性越来越大。

您需要阅读安装说明以了解需要什么:

Lua for Windows 及其模块都依赖于 MSVC++ 2005 运行时库。如果您的计算机上没有安装运行时,Lua for Windows install 将自动下载此运行时并为您安装。运行时包含在文件vcredist_x86.exe中

所以要么依赖 Lua 安装程序,要么自己安装 vcredist。

于 2013-05-19T14:38:46.247 回答