C# .NET 和 Lua - require "luanet" 失败。

我正在尝试使用.NET CLR与Lua。在我的.lua文件的第一行中,我有:

require "luanet"

我可以加载dll,但立即出现错误:

error loading module 'luanet' from luanet.dll: luanet.dll:1: '=' expected near "

我已经在互联网上搜索过,并下载并尝试了三个不同版本的这个luanet.dll,但它们都出现了相同的错误。

点赞
用户2012089
用户2012089

我解决了这个问题,虽然我不确定这是最好的解决方案。我只是将构建设置“平台目标”从“任何 CPU”更改为“x86”,然后重新生成 luanet DLL 和 LuaInterface 组件。我还必须在使用 LuaInterface 组件的 C# 应用程序中将相同的构建选择更改为“x86”。

如果有人知道更好或更优雅的解决方案,请分享。

2013-02-01 19:38:31
用户2012089
用户2012089

我差点忘记了 - 在 Lua 脚本中,我还必须明确设置“package.path”为“luanet.dll”所在的位置。虽然 LUA_PATH 环境变量中的路径已经有了正确的路径,但由于某种原因,在该行代码“require 'luanet'”之前,我仍然需要在 Lua 脚本中进行设置。

2013-02-01 19:45:52