Xamarin Studioのアップデート後に出るコンパイルエラーを回避する方法

「Update channel」が[安定]ならまだいいのですが、新機能を検証したり使っていたりすると[ベータ]や[アルファ]を使わざるを得ません。
そうするとよく起こりやすいのが、突如降ってきたバージョンアップ後のエラーです。
経験談として対策をまとめましたので、よければ参考にしてください。

Xamarin.Android側で出るエラー

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor version 52.0

対応方法

いきなり大量にエラーが出てびっくりしますが、この「Unsupported major.minor version 52.0」に注目するとどうやらこれは、新しく配布されたXamarin.Androidが新しいバージョンのJavaをサポートしたために、コンパイル処理に対応していないコマンドが裏側で実行されたために出るエラーのようです。

この場合はJavaのバージョンが古いのでアップデートしてください。
https://java.com/ja/download/
※アップデート後は、要再起動です。

Xamarin.iOS側で出るエラー

This version of Xamarin.iOS requires the iOS 9.3 SDK (shipped with Xcode 7.3) when the managed linker is disabled. Either upgrade Xcode, or enable the managed linker.

対応方法

これは新しく配布されたXamarin.iOSが新しいiOSのバージョンに対応されたため、新しいXamarinが使いたいSDKと現在のSDKのバージョンが食い違ってしまっているためです。
この場合はエラー内容のとおり、XCode(またはmacOS本体)のアップデート、またはSDKへのリンクの設定を切り替える必要があります。

さすがにOSまでバージョンアップする必要があるとハードルが高すぎますので、以下の方法でSDKのリンクを切り替えたほうがお手軽です。

compile_error

iOSの「オプション」から、「iOS Build」を選択します。
次に、「リンカーの動作」を
[リンクしない]から[Framework SDK のみをリンクする]に変更します。

これでインストールされているSDKに適したコンパイルが行われますので、エラーが出なくなるはずです。

備考

全ての端末での動作を保証するものではありません。
エラーがなくならない場合は、別のエラーと考えられますので別の方法を試してください。
※ありがちですが、一度「クリーン」や「Obj」フォルダを空にすると、うまくいく可能性があります。

この記事をシェアする
Tweet about this on Twitter
Twitter
Share on Facebook
Facebook
0

Comments

Comments