読者です 読者をやめる 読者になる 読者になる

Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

Xamarin.Forms のプロジェクトを作成する際の注意点

Xamarin Xamarin.Forms

Xamarin.Forms のプロジェクト (PCL/Shared 問わず) を作成して、試しにビルドするとエラーが!

f:id:ytabuchi:20140624191240p:plain

ビビりますよねw 今回のケースでは以下のエラーでした。

MainActivity.cs(7,7): Error CS0246: The type or namespace name `Xamarin' could not be found. Are you missing an assembly reference? (CS0246) (PCL_offline.Android)
MainActivity.cs(30,30): Error CS0246: The type or namespace name `AndroidActivity' could not be found. Are you missing an assembly reference? (CS0246) (PCL_offline.Android)
MainActivity.cs(27,27): Error CS0115: `PCL_offline.Android.MainActivity.OnCreate(Android.OS.Bundle)' is marked as an override but no suitable method found to override (CS0115) (PCL_offline.Android)


Xamarin.Forms のプロジェクトは作成時に NuGet からパッケージを持ってきたり依存関係をチェックしたりするようで、ネットワーク接続している必要があります!

どうやらオフラインでプロジェクトを作成した時は Xamarin Studio のマドにこんなエラーが出ていたようです。

f:id:ytabuchi:20140624200617p:plain

オフラインでプロジェクトを作成した際の Xamarin Studio の Package Console のログです。パッケージを追加して、config を設定してますが、Android プロジェクトの作成で依存関係を確認するところでコケてますね。

Adding Xamarin.Forms...
Installing 'Xamarin.Forms 1.0.6186'.
...略...
Successfully installed 'Xamarin.Forms 1.0.6186'.
Adding 'Xamarin.Forms 1.0.6186' to PCL_offline.
For adding package 'Xamarin.Forms 1.0.6186' to project
...略...
Added file 'packages.config'.
Added file 'packages.config' to project 'PCL_offline'.
Added file 'repositories.config'.
Successfully added 'Xamarin.Forms 1.0.6186' to PCL_offline.

Adding Xamarin.Forms...
Adding 'Xamarin.Forms 1.0.6186' to PCL_offline.iOS.
For adding package 'Xamarin.Forms 1.0.6186' to project
...略...
Added file 'packages.config'.
Added file 'packages.config' to project 'PCL_offline.iOS'.
Added file 'repositories.config'.
Successfully added 'Xamarin.Forms 1.0.6186' to PCL_offline.iOS.

Adding Xamarin.Forms...
Attempting to resolve dependency 'Xamarin.Android.Support.v4 (≥ 19.0.2)'.
Unable to resolve dependency 'Xamarin.Android.Support.v4 (≥ 19.0.2)'.

コケた PCL のプロジェクトはこんな感じで、Android プロジェクトに パッケージ がありません。

f:id:ytabuchi:20140624200022p:plain

Shared プロジェクトはこんな感じです。同様に Android プロジェクトに パッケージ がありませんね。

f:id:ytabuchi:20140624200137p:plain

つまるところプロジェクトを作成した時は正しく作成されたかチェックしましょう。ということでした。

f:id:ytabuchi:20140624200743p:plain

これです!

他にもインストールが不十分、バージョン違いなどで同じようなエラーが出る可能性がありますので、どうしてもビルド出来ない場合は、Xamarin ごと再インストールするのが良いかと思います。

Mac で Xamarin 環境をクリーンに再インストールするには を参考にしてください。

@atsushieno さん 情報ありがとうございます!