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

銀の光と碧い空

クラウドなインフラとC#なアプリ開発の狭間にいるエンジニアの日々

MSDN Subscriber 向け Xamarin Business Edition 90日特典 & VS2013へのXamarin拡張インストール

Xamarin C#

http://xamarin.com/msdn

XamarinでC#使って Android/iOS 開発したいけどXamarin高いなあと思っている方は多いのではないでしょうか。私もそんな一人なのですが、最近 MSDB Subscriber 向けの特典を見つけました。

MSDN subscribers exclusive offers and pricing - Xamarin

特典内容は、2014年2月3日現在

  • 通常30日のBusiness Editionの評価版が90日まで使える
  • 個人向けに通常 $1,998 が $1,399 に
  • チーム向けに通常 $18,990 が $9,900 に

となっています。(VS拡張は Business Edition以上での機能なので INDIE版では使えない)

これでも個人が趣味で買うにはまだ高いのですが、ひとまず90日あればいろいろ評価できるかなあと思い評価版を入れてみることにしました。が、なんとなくインストールするとはまることがあるので、今回うまくいった手順を紹介したいと思います。

最大のはまりポイントは、VS2013の日本語版が入っている環境にXamarin拡張を入れると動かなくなることがあるようです。詳細な発生条件や影響範囲は人によりけりなようなのですが、私はXamarin側のインストールも失敗し、Visual Studio 側もソースファイルをエディタで開くことができなくなってしまいました。このような状態になった場合は、Xamarin プログラムのアンインストールを行うと回復するようです(私のケースでは無事に回復)。

回避する方法としては、Visual Studio の English Language Pack を当てて英語UIにする方法か、Xamarinのベータ・アルファ版を適用する方法があるようです。今回はアルファ版を適用することで回避してみました。

まず上のサイトからリンクをたどっていくと通常版が入ってしまうので、 id:ytabuchi さんがまとめている情報をもとに進めます。

固有バージョンのインストーラー - Xamarin 非公式日本語情報 のリンクから Xamarin.iOS のalpha/beta版 (1.10.30.0 2013/12/19)と Xamarin.AndroidのAlpha版 (4.11.00217 2013/12/23) をダウンロードしてインストールします。インストール後、いったんVisual Studioを起動して、ツール > オプション からXamarin を選んで、 Alpha版をチェックするようにします。

f:id:tanaka733:20140203022600p:plain

Check Nowでチェックすると、私の環境では新たな更新が見つかったのでそれもインストールしました。その後再度Visual Studioを起動して、Androidプロジェクトを作成します。

f:id:tanaka733:20140203022816p:plain

プロジェクトを開くときにアカウントの入力を求められます。作っていない場合は、最初のリンクに戻って「Start an MSDN-exclusive* 90-day trial」からアカウントを作成し、MSDN Sunscribe IDを入力しておきます。ここにいけば取得できるよ!というリンクは微妙に間違っていますが、MSDN Subscription のページのアカウント情報で自分のIDを確認できます。その後、VSにアカウント情報を入力します。

こんな感じで認証が成功します。このメッセージを見る限り評価版だと2台のマシンにまでインストールできるようです(未確認)。

f:id:tanaka733:20140203023324p:plain

この後、プロジェクトがいったんアンロードされているので再読み込みします。

f:id:tanaka733:20140203023510p:plain

再読み込みすればひとまず完了です。せっかくなのでAndroidエミュレーターをそのまま起動しましょう。VSのデバッグ実行を行います。

f:id:tanaka733:20140203023557p:plain

エミュレーターは遅いよ!という警告が出ますが、今回はそのまま実行するとエミュレーターが立ち上がってアプリが起動します。これでデバッグまでできました。具体的なアプリの作り方はまた紹介しようと思います。