Unity 新版本與 UniRx 衝突
阿新 • • 發佈:2022-04-16
剛剛升級了 Unity 新版本,從 2021.2.9f1c1 升到 2021.3.0f1c1, 一開啟專案傻眼了,大量報錯。
原來是 Unity 新版本中加入的 System.Reactive
的方法 Subscribe()
和我專案用到的 UniRx
的 Subscribe()
重名衝突了:
The call is ambiguous between the following methods or properties: 'UniRx.ObservableExtensions.Subscribe<T>(System.IObservable<T>)' and 'System.ObservableExtensions.Subscribe<T>(System.IObservable<T>)
如果同時 using System
和 using UniRX
, 就會報錯。這樣的程式碼檔案我還蠻多的……
網上搜解決方案,只找到臨時辦法:
這個問題似乎是從 2021.2.11 版本開始有的。這麼說 Unity 官方也支援響應式程式設計了嗎,是否能取代 UniRx? 有機會試試。
按理說,開發環境不能頻繁追新升級,容易導致專案出現新問題,但我就是控制不住我自己,希望自己的專案能一直跟得上“時代”,不希望若干年後想修改內容的時候,還要四處找老版本的 Unity 安裝。