こんにちは。エクセルソフトの田淵です。
Xamarin.Forms もどんどんバージョンが上がっていますね。
2019/5/6-7 に開催される Microsoft Build 2019 で 4.0 あたりは GA するかもしれないですね。ただし、Mobile というカテゴリはもはや無いみたいなので、大々的というのではなく Visual Studio 2019 と共にしれっと進化する。という感じになると予想しています。
Xamarin.Forms 3.5 における Android Support Library の依存関係
Xamarin.Forms 3.5 になって、Android の Target バージョンが 9.0 の時と 8.0 以下の時で、依存する Support Library のバージョンが変わっています。
- 9.0 の時は 28.0.0.1 以上
- 8.0 の時は 27.0.2 以上
上記のように Target が 9.0 の状態で、Android プロジェクトに Support Library の 27.0.2 以下がインストールされている状態だと、Android プロジェクト単体で NuGet パッケージマネージャーから Xamarin.Forms だけを 3.5 以上にバージョンアップしても、以下のエラーが表示されインストールができません。
エラー NU1107 Xamarin.Android.Support.Compat のバージョンの競合が検出されました。この問題を解決するには、Xamarin.Android.Support.Compat 28.0.0.1 をプロジェクト XFApp1.Android に直接インストールするか、参照します。 XFApp1.Android -> Xamarin.Forms 3.5.0.169047 -> Xamarin.Android.Support.CustomTabs 28.0.0.1 -> Xamarin.Android.Support.Compat (= 28.0.0.1) XFApp1.Android -> Xamarin.Android.Support.Design 27.0.2 -> Xamarin.Android.Support.Compat (= 27.0.2). XFApp1.Android
Xamarin.Forms 3.5 が依存する Support Library 28.0.0.1 と、インストール済みの Support Library 27.0.2 同士で依存するバージョンが異なる。というコンフリクトですね。
また、以下のように、ソリューション全体の NuGet パッケージの管理で Xamarin.Forms だけを 3.5 にバージョンアップしようとすると、
Android が対象に出てきません。
Xamarin.Forms 3.5 にバージョンアップするには
そのため、「ソリューションの NuGet パッケージの管理」の「更新プログラム」のタブで、「すべてのパッケージを選択」にチェックを入れて、Support Library も一緒に「更新」してください。
めっちゃバージョンアップされる…w
無事 Xamarin.Forms 3.5 にバージョンアップできるかと思います。
Xamarin 気になった方は
Visual Studio 2017 をインストールして触ってみてください。手順書は こちらのエントリー をご覧ください。 JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
Xamarin の導入支援サービスを始めました。ベースは基本的なアプリを一緒に作ることで Xamarin を使えるようになって頂く内容ですが、ご要望に応じて講習内容のカスタマイズも可能です。詳しくは田淵までお問い合わせください(^^)
Xamarin トレーニング : XLsoft エクセルソフト
Xamarin の情報が欲しい方はこのブログも購読いただいたり、私のTwitterアカウントをフォローいただいたりすると嬉しいです。
私が所属している エクセルソフト の宣伝を少しさせてください。弊社は開発者向けの様々なソフトウェアを扱っています。
- Aspose(アスポーズ):
Office/PDF ファイルを .NET/Java で操作するライブラリ - TestComplete:
Windows アプリ、Web ページ、iOS/Android アプリの UI テストができ、RPA ツールとしても使えるツール
など特にお勧めです(^^)
また、Visual Studio Professional/Enterprise with MSDN も販売してますし、日本で売っていない海外のソフトウェア、開発ツールなどを弊社経由で日本円で購入頂くことも可能です。ご興味あれば覗いてみてください。
以上です。