热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

lua可以加载c#系统程序集,但是无法加载自定义程序集

--lua访问c#程序require(luanet)  --引入luanet.dll,该dll文件需与该lua文件在同一路径下

--lua访问c#程序
require("luanet")    --引入luanet.dll,该dll文件需与该lua文件在同一路径下



luanet.load_assembly("LuaAndCSharp")   --加载程序集(自己写的项目程序集)
luanet.load_assembly("System")        --加载程序集(C#内置的程序集)

COnsole= luanet.import_type("System.Console")    --获取System程序集下的Console类
print(Console)



Console.WriteLine("商品名:{0},价格:{1}","大刀",50)    --现在可以调用C#中的方法

MyTest = luanet.import_type("LuaAndCSharp.MyTest")
print(MyTest)

 

输出:

>lua -e "io.stdout:setvbuf 'no'" "test1.lua" 
ProxyType(System.Console): 54267293
商品名:大刀,价格:50
nil
>Exit code: 0

自定义程序集没有放到 luanet 可以加载到的地方?如果是在 C# 里用 LuaInterface 调用 DoString 执行 lua 代码,进而在 lua 代码里用 luanet load_assembly ,那么实际上是你的宿主程序加载自定义程序集,所以要保证你的宿主程序本身加载了你所要加载的自定义程序集,这样 luanet 才能找得到它。


   



推荐阅读
author-avatar
yushun
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有