一些用户(我会说它是~10%)在尝试运行我用C#(.NET 4.0)编写的应用程序时遇到问题 - 在应用程序启动时出现这样的错误:
Could not load file or assembly 'lua51.dll'. Such module could not be found.
Run Code Online (Sandbox Code Playgroud)
- 它是翻译,所以在ENG版本中它可能是相似的.
问题是大多数用户没有遇到此问题,并且程序目录中存在lua51.dll.这个错误的原因是什么?
我在我的项目中设置了Platform:x86-> bulid选项,发生错误.
这是一个常见的问题,太多的程序员只是复制DLL而没有意识到lua51.dll本身也需要安装依赖的DLL.来自Windows的错误消息令人遗憾无益,它没有报告问题的真正原因.Applciation日志中的事件确实存在,但没有足够的用户查看它.
不幸的是,这并没有经常出错,很多机器已经有了可用的依赖DLL.然而这是一个意外,你不能依赖它.这些可能性越来越低,依赖性越来越老.
您需要阅读安装说明以了解所需内容:
Lua for Windows及其模块都依赖于MSVC++ 2005运行时库.如果您的计算机上没有安装运行时,Lua for Windows安装将自动下载此运行时并为您安装.运行时包含在文件vcredist_x86.exe中
所以要么依赖Lua安装程序,要么自己安装vcredist.