日本時間の2/17に ASP.NET MVC4 Betaのリリースノートが公開されています(こちら)。もちろん英語なのでざっくり日本語訳したいと思います。長くなるので3回に分けたいと思います。
- Installation Note ~ Upgrading an ASP.NET MVC3 Project to ASP.NET MVC4
- New Features in ASP.NET MVC4 Beta(Azure SDK まで)
- New Features in ASP.NET MVC4 Beta(Known Issures and Breaking Changes)
※この文章は個人が勝手に訳した文章であり、正しさを保証するものではありません。違和感を感じた場合は、必ず原文に当たってください。
Installation Note
ASP.NET MVC4 Beta for Visual Studio 2010は Web Platform Installerを使用して ASP.NET 4 home page からインストールすることができます。
ASP.NET MVC4 Betaのインストールの前に、ASP.NET MVC4 Developer Previewをアンインストール剃る必要があります。
ASP.NET MVC4 Betaは.NET Framework 4.5 Developer Previewと互換性がありません。インストールの前に.NET 4.5 Developer Previewをアンインストール剃る必要があります。
ASP.NET MVC4はMVC3と混在させることが可能です。
Documentataion
ASP.NET MVC4 Betaに関するドキュメントは以下MSDNのサイトから利用可能です
http://go.microsoft.com/fwlink/?LinkID=243043
チュートリアル・ASP.NET MVCに関するその他の情報はASP.NETサイトのMVC4ページから利用可能です。
Support
プレビュー版のリリースであり、公式なサポートを受けることはできません。このリリース版の動作に関する質問は、ASP.NET MVC forum(http://forums.asp.net/1146.aspx)へ投稿してください。こちらでASP.NET コミュニティーメンバから非公式のサポート(回答)を受けることができます。
Software Requirements
ASP.NET MVC4 for Visual Studio 2010には、PowerShell 2.0とVisual Studio sp1/ Visual Web Developer 2010 sp1が必要です。
Upgrading an ASP.NET MVC3 Project to ASP.NET MVC4
ASP.NET MVC4はMVC3と同一コンピュータ上で混在させることができます。つまり、アプリケーションをMVC3からMVC4へ移行する時期を柔軟に選択することができます。
最も簡単なアップグレード方法はASP.NET MVC4プロジェクトを新規作成し、既存のMVC3プロジェクトからすべてのView, Controller、コンテンツファイルをコピーし、アセンブリの参照設定を新しいプロジェクトに合わせて変更することです。MVC3プロジェクトのWeb.configファイルに変更を加えている場合は、MVC4プロジェクトのWeb.configファイルとマージする必要があります。
手動でのMVC3からMVC4へのアップグレード手順は以下のとおりです。
1.プロジェクトのWeb.configファイル(ルートに1つ、Viewフォルダに1つ、Viewフォルダの各エリアに1つあります)の以下の敵捨つを置き換えます。
System.Web.Mvc, Version=3.0.0.0
System.Web.WebPages, Version=1.0.0.0
System.Web.Helpers, Version=1.0.0.0
System.Web.Helpers.Razor, Version=1.0.0.0
以下のように置換します。
System.Web.Mvc, Version=4.0.0.0
System.Web.WebPages, Version=2.0.0.0
System.Web.Helpers, Version=2.0.0.0
System.Web.Helpers.Razor, Version=2.0.0.0
2.プロジェクトのルートのWeb.configファイルの「webpages:Version」要素を「2.0.0」に更新し、新しい「PreserveLoginUrl」キーと値を「true」追加します。
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="PreserveLoginUrl" value="true" />
</appSettings>
3.ソリューションエクスプローラーから、System.Web.MVC(Version3)の参照を削除し、Sytem.Web.Mvc(v4.0.0.0)の参照を追加します。そして、以下のとおり参照設定を変更します。
削除する参照設定
- System.Web.MVC (v3.0.0.0)
- System.Web.WebPages (v1.0.0.0)
- System.Web.Razor (v1.0.0.0)
- System.Web.WebPages.Development (v1.0.0.0)
- System.Web.WebPages.Razor (v1.0.0.)
追加する参照設定
- System.Web.MVC (v4.0.0.0)
- System.Web.WebPages (v2.0.0.0)
- System.Web.Razor (v2.0.0.0)
- System.Web.WebPages.Development (v2.0.0.0)
- System.Web.WebPages.Razor (v2.0.0.0)
4.ソリューションエクスプローラからプロジェクト名を右クリックして、「プロジェクトのアンロード」を選択します。そして、再度プロジェクト名を右クリックして「編集 [プロジェクト名].csproj」を選択します。
5.ProjectTypeGuikdsへ移動し、{E53F8FEA-EAE0-44A6-8774-FFD645390401} を {E3E379DF-F4C6-4180-9B81-6769533ABE47}に置換します。
6.変更を保存し、プロジェクトファイル(.csproj)を閉じます。プロジェクトを右クリックして、「プロジェクトの再ロード」を選択します。
7.プロジェクトが以前のバージョンのASP.NET MVCを使用してビルドされたサードパーティ製アセンブリを参照している場合は、プロジェクトのルートのWeb.configファイルを開いて configuration セクションにある以下3つの bindingRedirect 要素を追加します。
<configuration>
<!–… elements deleted for clarity …–>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers"
publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc"
publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages"
publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>