C#なんぞ

C#に関するあれこれ。現在は「Raspberry PiをC#でプログラミング!」しようとしています!

Raspberry PiでXamarin.Formsアプリ

Xamarin.Forms

iOS/Android/UWPのクロスプラットフォーム・アプリを開発する環境としてXamarin.Formsがあります。

www.xamarin.com

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つのプロジェクトが作られます。

AndroidiOSのプロジェクトは、今は関係ないので、削除しておきます。

ここからは、いつもの通り!

「ビルド」メニュー→「構成マネージャー」を選択し、「アクティブソリューションプラットフォーム」をRaspberry Piの「ARM」にします。必要に応じて、ほかのプラットフォームは削除してもいいでしょう。

また、ビルドしたアプリをRaspberry Piに配置できるように、「プロジェクト」メニュー→「<プロジェクト>のプロパティ」から左のペインで「デバッグ」を選択し、「ターゲットデバイス」「リモートコンピューター」「認証モード」を設定しておきます。

ビルド!実行!

ソリューションをビルドします。

あらら?「InitializeComponentメソッドがない」だって?

そんなはずはないので、ソリューションを閉じたりソリューションをリビルドしたりしていると、そのうちこのエラーは消えます。(;^_^A

「証明書の有効期限が切れています」は、…ほっておきましょう。(;^_^A

「ビルド」メニュー→「ソリューションの配置」でアプリをRaspberry Piに配置し、Device Portalから実行します!

Xamarin.FormsもUWPなので、当然といえば当然ですが、動きました!