Xamarin VSがインストールできたら、ともかく使ってみよう。
ここではXamarin.Formsのプロジェクトを作ってみる。
Xamarin VSでプロジェクトを作るときの注意点は、パスに日本語を使わないことだ。ソリューションを置くディレクトリのパスも、ソリューション名/プロジェクト名も、全てASCIIコードの範囲で命名する。そうしないと、ビルドに失敗するので気を付けてほしい。
それではVisual Studioを起動し、メニューバーから[ファイル]−[新規作成]−[プロジェクト]を選んで[新しいプロジェクト]ダイアログを出す(次の画像)。ダイアログの左側で[インストール済み]−[テンプレート]の中から[Visual C#]を探し、その下の[Cross-Platform]を選ぶ。ダイアログの中央で[Blank Xaml App (Xamarin.Forms Portable)]を選び、ダイアログ下側で名前と場所を適宜設定し(日本語を使わずに!)、[OK]ボタンをクリックしてプロジェクトを作成する。なお、以降では、ここでプロジェクトの名前に「HelloXamarin」と付けたものとする。
初めてXamarin VSのプロジェクトを作ったときには、次の画像のようなダイアログが出るはずだ。iOS用アプリも開発する場合は、このダイアログに示された手順に従ってMacへ接続する。詳細は「特集:Xamarin.Formsを知る:XamarinアプリのMacでのビルドとiOS Simulator for Windows」をお読みいただきたい。ここではMacへの接続については説明を省略する。
上のダイアログとは別に、もう1つダイアログが出ている(次の画像)。今回はそのまま[OK]すればよい。
Xamarin VSのプロジェクトを作ったら、まずはフルビルドしよう。このとき、インターネット接続が必須である。
まずテンプレートそのものでビルドできることを確かめておくのが肝心だ。環境構築に失敗していたり、あるいはXamarin VSやテンプレートの不具合に遭遇したりする可能性もあるからだ(最近は聞かなくなったが、以前はテンプレートから作成した直後のソリューションでもビルドできない不具合がままあった)。
ビルドする前に、UWPアプリのビルド構成を変更しておこう。なぜか、既定ではUWPアプリがビルドされない設定になっているのだ(本稿執筆時点)。メニューバーの[ビルド]−[構成マネージャー]を選んで、[構成マネージャー]ダイアログを出す(次の画像)。[構成マネージャー]ダイアログで、対象にするプロジェクトの[ビルド]/[配置]チェックボックスをONにし、対象としないプロジェクトのものはOFFにする。ただし、先頭のプロジェクト(ここでは[HelloXamarin])は共通に使われるPCL(移植可能ライブラリ)であり、[ビルド]のチェックを外してはいけない。
それでは、インターネットに接続していることを確かめてから、フルビルドしよう。メニューバーの[ビルド]−[ソリューションのビルド]を選ぶとビルドが始まる。プロジェクトを作成した後、最初のビルドではインターネットから必要なパッケージを取得してくるため、少々時間がかかる。ビルド出力(メニューバーの[表示]−[出力]で表示される)で失敗が報告されなければOKだ(次の画像)。ビルドに成功していてもエラー一覧にエラーが表示されることもあるが(本稿執筆時点)、取りあえず無視してよいはずである。
ビルドできると分かったら、今度はソリューションで利用しているNuGetパッケージを最新版に更新してみよう(必須ではない)。
できれば、更新する前にバックアップを取るか、ソースコードリポジトリにチェックインしておくことが望ましい。間違ったパッケージに更新してしまうとビルドできなくなることもあるからだ。今回は更新しなくても差し支えはないので、難しそうだと感じるようなら、この項は飛ばしてほしい。
ソリューションエクスプローラーで1番上のソリューションを右クリックし、[ソリューションの NuGet パッケージの管理]を選ぶと、次の画像のようなNuGetパッケージの管理画面が表示される。
パッケージの管理画面の[更新プログラム]タブには、新バージョンの存在するパッケージが一覧される(次の画像)。左側で更新したいパッケージを選び、右側で更新したいプロジェクトと新しいバージョン(赤丸内)を選んで[インストール]ボタンをクリックすると、NuGetパッケージが更新される(他の手順もある)。
Xamarin.Formsでは[更新プログラム]タブに多くのパッケージが表示される。しかし、[Xamarin.Forms]だけを更新すればよい。他のパッケージは、[Xamarin.Forms]のインストール時に依存関係がチェックされ、必要なパッケージが自動的に更新される。このとき、全てのプロジェクトに同じバージョンが適用されるようにしよう(右側のチェックボックスで全てのプロジェクトにチェックを入れたままにしておく)。
NuGetパッケージを更新したら、またフルビルドが成功することを確認しておこう。
また、NuGetパッケージの更新に先立ってAndroid SDKのアップデートが必要な場合もある。詳細な解説は省かせてもらうが、メニューバーの[ツール]−[Android]−[Android SDK Manager]から操作する。
開発環境や使用するパッケージ(ライブラリ)のバージョン管理は、OSS開発では重要な作業である。チーム開発では、開発者によってバージョンがばらついてしまうと、こっちでビルドできたものがあっちではビルドできないというトラブルを引き起こす。従来の.NET開発では意識せずに済んでいた作業かもしれないが、ちょっとずつ慣れていこう(Xamarin.Formsのパッケージがどういう関係になっているかは筆者もまだよく分かっていないのだ……)。
Copyright© Digital Advantage Corp. All Rights Reserved.