當專案由Nuget升級Xamarin.forms套件過程中,可能會發現有些相依性的套件是會升級失敗,導致整個專案無法順利編譯成功,如果您跟筆者一樣從Nuget升級Xamarin.forms套件,發生了相同的現象,那麼可以試著採用筆者的方法來處理。
首先把所有 Xamarin.Android.* 的套件全部移除掉,注意某些套件會有相依性的先後問題,此時您必須先移除某個套件後,才能再移除另一個套件。
接著把 Xamarin.forms 也給移除掉,完成之後重新透過 Nuget 把 Xamarin.forms 套件給裝回來,這時您應該是安裝最新版本的Xamarin.forms ,這個重裝的過程中會連帶把其它相依的套件也一併安裝,並且所有套件版本的相依問題也會一併連帶解決掉,當所有套件安裝完成後,進行專案編譯時,您會發現如下的錯誤訊息:
這訊息反應了目前的編譯器版本使用的是jdk 1.7,但我們前面升級了Xamarin.forms ,導致一些新的東西在jdk1.7是認不得的,所以接下來我們得把編譯器版本改為jdk1.8以上。第一步您得確定本機是否已安裝了jdk1.8,利用 javac -version即可得知,如果沒有,那麼可以到 http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 下載安裝。
接下來開啟Visual Studio 2015,到工具/選項/Xamarin / Android Settings,會看到Java Development Kit Location的設定,點選 Change,然後把路徑改為C:\Program Files\Java\jdk1.8.0_xxx,以筆者的環境為例,是1.8.0_101版號。您可以視您的環境調整,只要是1.8.0以上版本即可。
完成設定的調整之後,將Visual Studio 2015關閉再重新開啟專案,應該就可以順利編譯專案。
建議如果不是那麼必要,那麼針對專案Nuget裡所提示的Xamarin.forms套件升級資訊,可以忽視它,不要像筆者一樣一時手癢就升級下去,導致後續一連串的問題,此外由於Xamarin.forms整合至Visual Studio 2015內發展的時間還不是很長,或多或少仍然會有一些問題待修正,除非真的想嘗鮮,否則建議還是少用手動升級套件。
By No.18