†でおきしブログ†

ウナギ食べたいヽ(•̀ω•́ )ゝ✧

【ASP.NET】MVC4のアプリをIISへデプロイMemo

IISの設定周りに毎回ハマるのでMemo

前提:VisualStudio側ではデプロイ用のzipパッケージを発行済み

IISの設定

対象はWindows8の環境*1

  1. 対象アプリの.net frameworkがインストールされている事
    • 4.5は最初から入ってるっぽい
  2. IISの設定
    • コントロールパネルの"Windowsの機能の有効化または無効化"から下記有効化設定を行う
      • インターネットインフォメーションサービスを有効にする
        • (インストール完了まで結構時間かかる)
      • .NETの開発機能を有効にする
      • インターネットインフォメーションサービス->WorldWideWebサービス->アプリケーション開発機能->
      • 例えば.NET4.5のアプリをデプロイするならここでASP.NET 4.5にチェックを入れて有効化。(他にも色々チェックつくけどそのまま有効化)
  3. web debploy をインストールする事
    • パッケージをデプロイするには必須っぽい

とりあえずこれで動いた。

☆トラブルシュート

  1. ファイルが無いぞって怒られた
    • デプロイ後にWebブラウザにて80アクセスすると以下のようなメッセージが
      • “System.Web.Http.WebHost, version=4.0.0.0 [略] 依存関係の1つが~”
    • このエラーに関して検索すると、.NET4をインストールしろとかMVC4をインストールしろとか出てきたんですが、デプロイパッケージにWebHost.dllとかが含まれていないために発生していた。
    • プロジェクトの参照設定より、パスがプロジェクトフォルダになっているものを全てローカルコピー(True)とするSystem.Net.Http.Formatting、System.Web.Http、System.Web.Http.WebHost辺り
    • プロジェクトのプロパティよりパッケージ化の配置項目にて、すべてのファイルを選択すると解決した
      • これに限った事じゃないけれど、別PC環境とかにデプロイするパッケージはプロジェクトに関するファイルは全部入れといた方が良い気がする

*1:WindowsServerだとサーバーマネージャーってのを使うらしく、少し手順が異なるようだ