找回密码
 注册帐号

扫一扫,访问微社区

美术相关 在Unity2019.4.1f1中VisualStudio自定义类库如何引用PackageManager中的包

0
回复
329
查看
[ 复制链接 ]
3偶尔光临
157/300
排名
16594
昨日变化

1

主题

59

帖子

157

积分

Rank: 3Rank: 3Rank: 3

UID
159371
好友
0
蛮牛币
298
威望
0
注册时间
2016-7-28
在线时间
55 小时
最后登录
2020-7-8
2020-7-7 20:16:21 显示全部楼层 阅读模式
5蛮牛币
场景:我们的Unity项目分为三部分,开发工程,安卓打包工程,iOS打包工程.

我们自己有个类库叫Base,这个Base负责最基层的功能以供上层业务代码使用调用.如资源路径管理,与Timeline的支持管理.

比如需要继承PlayableBehaviour并重写OnBehaviourPlay方法.那这种情况.Base就需要引用到Timeline的PlayableBehaviour类.

换言之按照以前的做法就是引用UnityEngine.Timeline.dll文件即可,但现在Timeline成为了Package于PackageManager安装与管理.

没有了UnityEngine.Timeline.dll文件,故无法在VisualStudio添加引用了,研究了一下,发现位于Library/ScriptAssemblies中能找到Unity.Timeline.dll.

尝试着复制一份到VisualStudio工程中并添加引用,此时Base.dll成功编译生成了,将Base.dll放置至开发工程Assets/Plugins内.开发工程内运行一切正常,

启动安卓打包工程,尝试打包安卓应用时,会将所有资源与Base.dll与其他的业务代码编译生成的DLL拷贝至打包工程进行打包.但在Build的过程中出现了如下错误.

简单的理解就是说Base.dll引用了UnityEngine.Timeline这个程序集(虽不知为什么,但Unity.Timeline.dll内代码的命名空间就是UnityEngine.Timeline,不知为何把Engine去除了),但是UnityEngine.Time这个程序集不能被引用或找不到所在路径.如下图
LJ$`_~X%5$ZM63[I`}31K]6.png

Unity工程Packages中是有Timeline包的,版本为1.2.15.至此,打包流程被无奈的终止了.



已做过以下尝试,无效,报的错一模一样:

1,将Base.dll与Unity.Timeline.dll文件拷贝至Unity工程Assets/Plugins目录下,同时将Timeline从PackageManager中移除.

2,将Unity.Timeline.dll文件更名为UnityEngine.Timeline.dll后在VisualStudio重新引用并重新编译.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

Unity大学【第二期】!