使用与Nlua共享项目中实现的C#类

时间:2016-05-24 15:59:57

标签: c# lua scripting nlua

我想在我的项目中使用Nlua。我的项目设置是: 我有一个共享项目,我实现了我的逻辑,以及几个使用这个共享项目的平台特定项目。

我现在想在使用Nlua执行的lua函数中使用此共享项目中定义的类。问题是,这不起作用。

lua.DoString(@"import('Platformspecific_Project_AssemblyName', 'Platformspecific_Project_Namespace') SomceClass.StaticMethod()");

这很好用。但是如果我现在想要使用共享项目中定义的类,这将不起作用:

lua.DoString(@"import('Platformspecific_Project_Assembly','Shared_Project_Namespace') SomeSharedClass.StaticMethod()");

我得到的错误是:

 Additional information: [string "chunk"]:1: attempt to index global 'SomeSharedClass' (a nil value)

从我读到的内容(顺便说一句,我是lua的新手)如果我想在变量定义之前对变量做一些事情,就会发生这种错误(因为lua文件从开始到结束都被解析,尽管我是不要对此不感兴趣。)

我的问题是:我如何使用与Nlua共享项目中定义的方法和类?我非常害羞我对Assemblies有些不对劲,但似乎没有太多关于这个主题的文档。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

共享项目没有创建程序集(.dll),您需要使用最终的程序集。

或者您也可以使用PCL。否则,来自NLua的LoadAssembly将失败

谢谢。