4月にオープンソースライセンスとしてバージョン1が正式にリリースされた ASP.NET MVC をホスティングサーバーで使おうと思ってテストをしてみました。ほとんどのホスティングサーバーで簡単に利用できることがわかりました。

ローカルマシンに、ASP.NET MVCをインストールして、ASP.NET MVC のサンプルをコンパイルして、ホスティングサーバーにアップロードしました。サーバーにASP.NET MVCがインストールされていない場合は、以下の図のように「ファイルまたはアセンブリ ‘System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′、またはその依存関係の 1 つが読み込めませんでした。」というエラーが発生します。

image

サーバーに、ASP.NET MVC がインストールされていない場合、VS2010 Beta のドキュメント方法:ASP.NET の MVCアプリケーションの発行を見ていると、Bin フォルダーに必要なアセンブリをアップロードすれば大丈夫ということです。ASP.NET 3.5 SP1 以上の環境が必要だと書いてある資料もあるのですが、ASP.NET 3.5以前の場合でも動作するし、mono でも動作するようです。ASP.NET 3.5 SP1 の場合には、System.Web.Mvc のみを、ASP.NET 3.5 以前の場合には、以下の3種類のアセンブリをBin フォルダーにアップロードします。また、これらのセンブリは、信頼レベルが中(Medium Trust)で動作するということなので、殆どのホスティングサーバーで対応していると思います。

  • System.Web.Mvc (ASP.NET MVC アセンブリ)
  • System.Web.Routing (ASP.NET MVC が必要とする .NET Framework アセンブリ)
  • System.Web.Abstractions (ASP.NET MVC が必要とする .NET Framework アセンブリ)

アセンブリをアップロードするためには、発行の前に、以下の設定をしておくのが簡単です。ソリューション エクスプローラで参照設定を展開して、System.Web.Mvc、System.Web.Routing、System.Web.Abstractions(ASP.NET 3.5 SP1 の場合には、System.Web.Mvc のみで可) を選択して右クリックしてプロパーティを選択し、プロパティ ウィンドウで、ローカルコピーをTrueに設定します。

image

ASP.NET MVC 関係リンク

Microsoft ASP.NET のMVCのページ
MSDN マガジン 2008年3月 ASP.NET MVC: Web フォームを使用しないで Web アプリケーションを作成する
IIS/Windows サーバー徹底解説 ASP.NET MVC 入門
@IT Inside.NET NerdDinnerチュートリアル
@IT Inside.NET ASP.NET MVC入門
CodeZine もう一つのASP.NET「ASP.NET MVC」を知る
マイコミジャーナル 一体何が新しいの? 新フレームワーク「ASP.NET MVC」の勘所をおさえる