在Unity2019.4.1f1中VisualStudio自定义类库如何引用PackageManager中的包
场景:我们的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这个程序集不能被引用或找不到所在路径.如下图
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重新引用并重新编译.
页:
[1]