连接Lua与.NET的库
NLua 是连接 Lua 与 .NET 世界的绑定库,定位不是在线服务,而是供 .NET/C# 项目集成的开发者工具。它源自 LuaInterface,并支持在 Windows、Linux、Mac、iOS、Android 上从 C# 使用 Lua,同时兼容 Xamarin.iOS/Mac/Android、.NET 与 .NET Core。
从正文示例看,NLua 的核心是双向互操作:C# 侧可以创建 Lua state,使用 DoString 执行 Lua 表达式或脚本,把 C# 数值和对象放入 Lua 全局环境,并取回 Lua 全局变量或 LuaFunction 后调用。反向能力也较完整:Lua 侧可通过 LoadCLRPackage 与 import 加载 .NET 程序集,创建 .NET 对象,调用实例方法、静态方法,读取或设置 public 属性。它还强调无需预先注册或注解即可使用 .NET 类,这对嵌入式脚本场景很方便。
正文未出现商业收费信息,项目提供 NuGet 包,并有贡献说明和历史记录,可视为免费开源库使用。生态方面,它使用 KeraLua 作为 NuGet 依赖,继承 LuaInterface 的历史,也曾涉及 Xamarin、Unity3D、WinRT 等平台支持。不过版本历史显示部分旧平台如 KopiLua、Silverlight、Windows Phone 已被放弃,选型时应核对当前目标平台。
优点是跨平台、与 .NET 集成直接、示例覆盖变量、函数、对象、程序集导入等常见路径,适合快速把脚本能力嵌入应用。限制在于文档更像 README,虽然提到 doc/guide.pdf、测试项目和 samples,但缺少完整 API 参考和系统化安全指南。沙箱方面正文仅建议使用纯 Lua 并可重写 import,真正的安全边界仍需开发者自行设计。另一个限制是只能访问 public 成员。
NLua 适合 .NET 桌面、移动、游戏工具链或自动化系统中需要 Lua 扩展能力的团队。若只需要纯 Lua 解释器或完整托管沙箱,也可评估 MoonSharp、KeraLua、LuaInterface 等替代方案。中国访问情况正文未提供可验证信息;NuGet 与源码托管访问、支付均需以实际网络环境为准。
本测评基于公开资料整理,不构成购买建议,请以 nlua.org 官网实际信息为准。
开源开发库,适合.NET游戏或脚本集成。
评分明细(分布与用户短评)接入中。当前展示 TG4G 综合评分,数据源自公开测评与用户反馈。