具有NLua的C#类实例
我正在尝试使用具有NLua的C#类实例,c#,lua,nlua,C#,Lua,Nlua,我正在尝试使用NLua 这是我的密码 class Program { public static void Main (string[] args) { Lua lua = new Lua(); lua.LoadCLRPackage(); lua.DoString(@" import ('LuaTest.exe', 'LuaTest')
NLua
这是我的密码
class Program
{
public static void Main (string[] args)
{
Lua lua = new Lua();
lua.LoadCLRPackage();
lua.DoString(@"
import ('LuaTest.exe', 'LuaTest')
test = Test()
");
}
}
public class Test
{
public Test()
{
Console.WriteLine("IT WORKED");
}
}
但这似乎不起作用,我环顾四周,尝试了许多不同的方法。我尝试过的大多数方法的错误是:
“NLua.Exceptions.LuaScriptException”类型的未处理异常
在NLua.dll中发生其他信息:[字符串“chunk”]:3:
尝试调用全局“Test”(一个nil值)
这有点奇怪,因为这是他们的示例代码?
谢谢你们的帮助
有点咆哮:
如果我做错了什么,请告诉我。
顺便说一句,我使用的是纯C#build,不确定这是否会造成不同,我没有看到任何关于它的警告?但整件事似乎都没有记录在案
如果有人对一个更好的纯C#Lua库有什么建议,我洗耳恭听。你错过了一个好机会
对此我很抱歉。自述文件是错误的 只需删除“.exe”和shuold即可
class Program
{
public static void Main (string[] args)
{
Lua lua = new Lua();
lua.LoadCLRPackage();
lua.DoString(@"
import ('LuaTest', 'LuaTest')
test = Test()
");
}
}
public class Test
{
public Test()
{
Console.WriteLine("IT WORKED");
}
}
我已经修复了github.com/nlua/nlua的自述文件您是否将当前的可执行文件导入了Lua系统?这是在示例代码中:state.DoString(@“import('MyAssembly.exe','MyNamespace')import('System.Web'))@RonBeyer是的,我想LuaTest.exe是我的程序集,LuaTest是名称空间。对不起,我错过了你发布的代码中的那一行,这是我唯一的想法。@RonBeyer别担心,我整天都在为这件事埋头苦干,任何事情都是有帮助的:)目前我必须做一些相关的工作。。。注册一些返回所需对象的新实例的C#函数。这很恶心,但我想不出这个。嗯,不确定是不是这样,我只是把它命名为“Test”作为一个例子,它不适用于任何我命名的类、程序集或命名空间。。。但我明天会试试:)我现在在工作,所以我一到家就试试,我也无法让它与库一起工作,例如:“system.net”的想法?IIRC程序集加载区分大小写,使用“system.net”代替标题我很高兴解决方案是简单地删除.exe.)非常感谢。对于其他库来说,这是可行的:import('System','System.Net.Sockets')对于系统库来说都很好,但是对于我导入的自定义库来说就不好了。但这仍然是向前迈出的一大步:)请你也修复一下nlua.org的主页好吗?同样的“bug”出现在这里的示例中,它导致我犯同样的错误。导入('MyAssembly.exe','MyNamespace')。谢谢,继续努力!
class Program
{
public static void Main (string[] args)
{
Lua lua = new Lua();
lua.LoadCLRPackage();
lua.DoString(@"
import ('LuaTest', 'LuaTest')
test = Test()
");
}
}
public class Test
{
public Test()
{
Console.WriteLine("IT WORKED");
}
}