Xamarin.Forms のプロジェクト (PCL/Shared 問わず) を作成して、試しにビルドするとエラーが!
ビビりますよね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 のマドにこんなエラーが出ていたようです。
オフラインでプロジェクトを作成した際の 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 プロジェクトに パッケージ
がありません。
Shared プロジェクトはこんな感じです。同様に Android プロジェクトに パッケージ
がありませんね。
つまるところプロジェクトを作成した時は正しく作成されたかチェックしましょう。ということでした。
これです!
他にもインストールが不十分、バージョン違いなどで同じようなエラーが出る可能性がありますので、どうしてもビルド出来ない場合は、Xamarin ごと再インストールするのが良いかと思います。
Mac で Xamarin 環境をクリーンに再インストールするには を参考にしてください。
@atsushieno さん 情報ありがとうございます!
@ytabuchi stableでもalphaでも再現しないです。nugetパッケージのダウンロードが必要になるのにオフラインになってて落とせなかったとかだったりしませんかね。
— Atsushi Eno (@atsushieno) 2014, 6月 23