場景:我們的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重新參考并重新編譯.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/9355.html
標籤:Unity3D
上一篇:求一個可用的超級瑪麗
