[.NET][Azure] Windows Azure 開発環境の作成 (Win7 + VS2010)

とかいって、ちょっとしかしてませんが。

  1. まずは、Windows Azure Tools for Visual Studio のダウンロードへ、2つともダウンロード
  2. 注意点にいっぱい書いてあることを順番に実施します。
    1. Visual Studio のインストール (2010, 2008SP1, 2010WDExpress のいずれか)
      • VS2010 がインストール済みなので何もなし
    2. SQL Server 2005 以上のインストール (Express で Okay)
      • SQL Server 2008 R2 Express がインストール済みなので何もなし
    3. WCF HTTP Activation, ASP.NET, FastCGI の有効化
      • 日本語の資料には Win7 の手順が書いていないけど、適当に設定変更。開発用 Fabric/Storage を動かすために .NET 3.5 と IIS の設定を行う。
        1. コントロールパネルの「プログラム」にある「プログラムと機能」から「Windows の機能の有効化または無効化」を選択
        2. 先頭のあたりにある「.NET Framework 3.5.1」を開き「Windows Communication Foundation HTTP Activation」を有効にする。
        3. 結構下のほうにある「インターネットインフォメーションサービス」を開き、「World Wide Web サービス」→「アプリケーション開発機能」とさらに開いて「ASP.NET」と「CGI」を有効にする。
        4. Windows Server 2008 の場合、基本機能の「静的コンテンツ」も有効にする。
      • 私の環境では、WCF HTTP Activation と CGI 以外はすでに有効でした。
  3. ダウンロードしておいた Azure Tools 1.2 をインストール。その後、日本語言語パックもインストール。(実際は Visual Studio より後ならいつでも大丈夫そう)
  4. 各種 HotFix の適用
    1. 32bit OS の場合、KB983301
    2. VS2008 の場合、KB967631
    3. WinVista の場合、KB967131
    4. Win7 以外の場合、Connect DownloadID 16827
    5. すべての環境にて、KB971842, KB981002, KB971842

リリースノートには、上記以外に

といったことが書いてあります。とりあえず、ここまでやってから新規プロジェクトで ASP.NET MVC2 Web Role と Worker Role を1つづつのプロジェクトを作成してみて生成されたコードを眺めてみる。どっちもかなりシンプル。IgnoreRoute に /Contents が入ってないけれど、入れなくていいんだっけ?

デバッグ実行すると「管理者権限に昇格していないと開発 Fabric が動かせないからダメ」とか言われる。Developer Fabric だけ昇格して実行するだけじゃダメなのかしら?と思いつつ昇格させた Visual Studio から実行すると、Developer Storage の初期化に失敗する。エラーログには「SDK で dsinit してね」と丁寧に書いてあるので dsinit を実行して SQL Server にデータベースを作成する。*1

これで実行できるようになり、ASP.NET アプリケーションがブラウザで表示されつつ、出力ログに WorkerRole の稼働中の表示が流れ続けるという形になった。今日はここまで。

*1:うちの環境では、サーバプロトコルから共有メモリを消しているからか? SQL サーバへの接続に失敗した。コマンドラインオプション /sqlinstance で TCP 接続を明示したら接続できた。