C# 外部库(Lua)调用问题。

我是新手,在C# (VS2010) .Net (4.0)中进行编程,遇到了一些问题,已经几天都无法自己解决。

我在我的C#代码中使用外部脚本语言Lua。

为此,我使用了适用于.Net 4.0的LuaInterpreter。

第一次尝试: 该项目是控制台应用程序 -> 当我尝试调用Lua类时,程序运行良好。

第二次尝试: 该项目是Excel使用的类库COM -> 当我尝试调用Lua类时,它崩溃了,并表示缺少Lua程序集。

“无法加载文件或程序集“lua51,Version=0.0.0.0,Culture=neutral,PublicKeyToken=1e1fb15b02227b8a”,或此程序集的某个依赖项。强名称验证失败。(来自HRESULT: 0x8013141A的异常)”

要复制问题:

1-您需要从以下位置获取LuaInterface.Net 4.0 http://www.mdome.org/2011/05/16/luainterface-for-csharp-net-4-custom-build/

2-在您的项目中添加LuaInterface作为参考

3-将Lua51 DLL复制到构建目录中(我也放置了我的Excel表格)

4-将类库的代码复制到其中

test()函数在从Excel调用时崩溃了。

我会接受任何帮助,谢谢。

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

点赞
stackoverflow用户566608
stackoverflow用户566608

由于似乎已被签名,请尝试将Lua51放入GAC中并查看是否有效。你甚至可以尝试将Lua15.dll放入excel.exe的相同路径下。

2011-07-28 09:51:26
stackoverflow用户111821
stackoverflow用户111821

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

2011-08-01 16:00:25