尝试在 VB.NET 中使用 Lua 有一个严重的并发症。我的问题是如何让这个库正确加载,以便它真正可用。
这是我的尝试。
我通过 NuGet 尝试了几种 Lua 库的变体。经过一番研究,我发现了 LuaInterface(在 NuGet 中不可用,官方 repo 引用 NLua作为它的继承者)。
开始了一个新项目,仅引用 NuGet 中的 NLua。-- 失败
- 从 NuGet 添加了对 Lua 的引用——仍然失败
- 开始了一个新项目,并直接从github下载了当前二进制文件用于 NLua --- 失败。
在上述所有情况下,我检查了构建文件夹以确保所有 DLL 都存在(因为 Visual Studio 仍然不会一直部署所有 dll - 请参阅 SQLite 库作为示例)。
我现在的错误是这个
在 KeraLua.dll 中发生了“System.DllNotFoundException”类型的第一次机会异常
现在,当我明确声明对该文件的引用时,就会出现大问题,因为它会产生冲突,因为 KeraLua.dll 和 NLua.dll 都有一个具有相同参数的“Lua”方法。
我在崩溃时使用的代码非常简单:
Imports NLua
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim l As New Lua
End Sub
End Class
如果有人能解释为什么这个库如此失败或者我可能做错了什么,那将不胜感激。我目前正在尝试使用此库在 .net 环境中公开用 Lua 编写的表。我在这里看到了关于这个的例子,它们已经过时了,因为它们引用了已弃用的 LuaInterface 对象。