Unity 外部 DLL 无法引用 TextMeshPro

问题

创建 C# DLL 库来让 Unity 进行引用,但是自建的库需要引用到 TextMeshPro DLL,而在 Unity 2018 里,TextMeshPro 就以源码的形式来存放的,路径在Library\PackageCache,其 DLL 路径在Library\ScriptAssemblies里,将Unity.TextMeshPro.dll来进行引用的话,会出现调用TextMeshPro里的接口时,会无法编译通过,如下所示:

error CS0012: 类型“Transform”在未引用的程序集中定义。必须添加对程序集“UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”的引用。

原因

通过ILSpy工具分析,可以看到TextMeshPro引用的是UnityEngine.CoreModule,跟外部DLL引用的不同,导致对应不上。

解决

新建个 C# DLL 工程,引用TextMeshPro所有源文件,来自己编译一个TextMeshPro.dll,即可。

添加为链接的方式,来加入所有TextMeshPro所有源文件,编译成DLL,通过ILSpy工具分析,可以看到TextMeshPro引用的是UnityEngine,这样给外部 DLL 引用就没问题。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值