K1601906881 2021-03-05 22:02 采纳率: 0%
浏览 48

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

--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

  • 写回答

1条回答 默认 最新

  • 幻灰龙 2021-03-06 09:57
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器