テスターですが何か?

ホビープログラマ略してHPです

【日本語訳】ASP.NET MVC4 Beta Relaese Note(3)

leave a comment »

日本時間の2/17に ASP.NET MVC4 Betaのリリースノートが公開されています(こちら)。もちろん英語なのでざっくり日本語訳したいと思います。長くなるので3回に分けたいと思います。

  1. Installation Note ~ Upgrading an ASP.NET MVC3 Project to ASP.NET MVC4
  2. New Features in ASP.NET MVC4 Beta(Azure SDK まで)
  3. New Features in ASP.NET MVC4 Beta(Known Issures and Breaking Changes)

※この文章は個人が勝手に訳した文章であり、正しさを保証するものではありません。違和感を感じた場合は、必ず原文に当たってください。新機能の部分は未検証なので一部日本語訳に自信がありません。

今回はNew Features in ASP.NET MVC4 Beta(Known Issures and Breaking Changes)です。

Known Issures and Breaking Changes(既知の問題と重大な変更)

  • Visual Basic プロジェクトでArea内でControllerの追加を行うと、間違った名前空間のコードが生成される。Visual Basicを使用しているASP.NET MVCプロジェクトでArea内にControllerの追加を行うと、アイテムテンプレートが間違った名前空間をコントロラーに生成してしまいます。コントローラーのアクションメソッドを実行すると ”file not found” エラーが発生します。

生成された名前空間は、ルート以降の名前空間が抜けてしまいます。例として、RootNamespace.Areas.AreaName.Controllers という名前空間が生成されるべきところ、Rootnamespaceという名前空間が生成されてしまいます。

  • Ravor View Engineに関する重大な変更。Razorのパーサー書き換えの一部として、以下の型が System.Web.Mvc.Razor から削除されました。
    • ModelSpan
    • MvcVBRazorCodeGenerator
    • MvcCShartRazorCodeGenerator
    • MvcVBRazorCodeParser

以下のメソッドも削除されています。

    • MvcCSharpRazorCodeParser.ParseInheritsStatement(System.Web.Razor.Parser.CodeBlockInfo)
    • MvcWebPageRazorHost.DecorateCodeGenerator(System.Web.Razor.Generator.RazorCodeGenerator)
    • MvcVBRazorCodeParser.ParseInheritsStatement(System.Web.Razor.Parser.CodeBlockInfo)
  • ASP.NET MVC4アプリケーションの bin ディレクトリに WebMatrix.WebData.dll が含まれていると、form認証URLが上書きされてしまう。アプリケーションにアセンブリ WebMatrix.WebData.dll を追加すると、(例として、配置可能な依存関係の追加ダイアログで「ASP.NET WebPages with Razor Syntax」を選択する)ログイン認証のURLをASP.NET MVC Account Controllerの /account/login から /account/logon へオーバーライドしてしまいます。この事象を回避し、web.configのauthenticationセクションで定義されているURLを使用するためには、appSettingに「PreserveLoginUrl」を追加して値を「true」に設定します。

  <appSettings>

    <add key="PreserveLoginUrl" value="true" />

  </appSettings>

  • ASP.NET MVC4とVisual Studio 2010/Visual Web Developer 2010を同時にインストールすると、Nuget package managerのインストールに失敗する。ASP.NET MVC4のインストールは、Visual Studioのインストール後に実行する必要があります。
  • 必要なソフトウェアがアンインストールされた状態では、ASP.NET MVC4のアンインストールが失敗する。ASP.NET MVC4をアンインストールするためには、Visual Studioよりも先にアンインストールする必要があります。
  • デフォルトのWeb APIプロジェクトを実行すると、ルーティングの追加に存在しないメソッド「RegistarApis」を使うという、ユーザーに間違った手順を示してしまう。ルーティングの追加ASP.NETルーティングテーブルを使用して RegisterRoues で追加しなければなりません。
  • ASP.NET MVC4 Betaをインストールすると、ASP.NET MVC3 RTMアプリケーションが壊れてしまう。RTMリリースで作成されたアプリケーションは(ASP.NET MVC3 Tools Updateは対象ではありません)、ASP.NET MVC4と並行して実行するために以下の変更が必要です。以下の変更を行わずないとプロジェクトはビルドエラーになります。

1.プロジェクトのルートにある Web.configファイルに、新規に<appSettings>エントリーを追加してkeyに「WebPages:Version」、valueに「1.0.0.0」を指定します。

    <appSettings>

      <add key="webpages:Version" value="1.0.0.0"/>

      <add key="ClientValidationEnabled" value="true"/>

      <add key="UnobtrusiveJavaScriptEnabled" value="true"/>

    </appSettings>

2.ソリューションエクスプローラーから、プロジェクト名を右クリックして「プロジェクトのアンロード」を実行します。そして、再度右クリックし、「編集 [プロジェクト名].csproj」を選択します。

3.以下の参照アセンブリ部分へ移動します。

<Reference Include="System.Web.WebPages"/>

<Reference Include="System.Web.Helpers" />

以下のように置き換えます。

<Reference Include="System.Web.WebPages, Version=1.0.0.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL "/>

<Reference Include="System.Web.Helpers, Version=1.0.0.0,

Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />

4.変更を保存して、プロジェクトファイル(.csproj)を閉じます。プロジェクトを右クリックして、「プロジェクトの再ロード」を選択します。

Written by david9142

2012年2月18日 @ 11:10 PM

カテゴリー: ASP.NET MVC

Tagged with ,

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。