我想在我的项目中使用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有些不对劲,但似乎没有太多关于这个主题的文档。
感谢任何帮助!
答案 0 :(得分:0)
共享项目没有创建程序集(.dll),您需要使用最终的程序集。
或者您也可以使用PCL。否则,来自NLua的LoadAssembly
将失败
谢谢。