Raspberry PiでXamarin.Formsアプリ
Xamarin.Forms
iOS/Android/UWPのクロスプラットフォーム・アプリを開発する環境としてXamarin.Formsがあります。
Windows 10 IoTで動くGUIのアプリはUWPなので、ということはWindows 10 IoTでXamarin.Formsで作ったアプリが動くよね?
ということで試してみました!
Xamarinのインストール!
Visual Studio Installerを使って、Xamarinをインストールします。
「モバイル&ゲーム」カテゴリーの「.NETによるモバイル開発」を選択し、インストールするだけ!
Xamarin.Formsプロジェクトの作成!
Visual Studioを起動し、プロジェクトを新規作成します。ダイアログの左のペインで「Visual C#」→「Cross-Platform」を選択、中央のペインで「Cross Platform App (Xamarin)」を選択します。
「OK」を押すと、さらにダイアログが表示されます。
ここでは「Blank App」「Xamarin.Forms」「Shared Project」を選択し、「OK」を押します!
しばらく時間がかかりますが、そのうちUWPプロジェクトがサポートするUWPのバージョンを指定するいつものダイアログが表示されます。
バージョンを指定して「OK」を押すと、共用部分のプロジェクト、UWPのプロジェクトを含め、合計4つのプロジェクトが作られます。
AndroidとiOSのプロジェクトは、今は関係ないので、削除しておきます。
ここからは、いつもの通り!
「ビルド」メニュー→「構成マネージャー」を選択し、「アクティブソリューションプラットフォーム」をRaspberry Piの「ARM」にします。必要に応じて、ほかのプラットフォームは削除してもいいでしょう。
また、ビルドしたアプリをRaspberry Piに配置できるように、「プロジェクト」メニュー→「<プロジェクト>のプロパティ」から左のペインで「デバッグ」を選択し、「ターゲットデバイス」「リモートコンピューター」「認証モード」を設定しておきます。
ビルド!実行!
ソリューションをビルドします。
あらら?「InitializeComponentメソッドがない」だって?
そんなはずはないので、ソリューションを閉じたりソリューションをリビルドしたりしていると、そのうちこのエラーは消えます。(;^_^A
「証明書の有効期限が切れています」は、…ほっておきましょう。(;^_^A
「ビルド」メニュー→「ソリューションの配置」でアプリをRaspberry Piに配置し、Device Portalから実行します!
Xamarin.FormsもUWPなので、当然といえば当然ですが、動きました!