Microsoft



MVC 3 Tools Update のリリース ノート

概要 2

インストールに関する注意 2

ソフトウェア要件 2

ドキュメント 3

サポート 3

MVC 2 プロジェクトの MVC 3 へのアップグレード 3

MVC 3 Tools Update での変更点 5

[コントローラーの追加] ダイアログ ボックスで、ビューとデータ アクセス コードを使用したコントローラーのスキャフォールディングが可能に 5

[新しい MVC 3 プロジェクト] ダイアログ ボックスの機能強化 7

プロジェクト テンプレートに Modernizr 1.7 が追加 9

プロジェクト テンプレートの jQuery、jQuery UI、および jQuery Validation のバージョンが新しく 9

プロジェクト テンプレートに、NuGet プレインストール パッケージとして Entity Framework 4.1 が追加 9

プロジェクト テンプレートに、NuGet プレインストール パッケージとして JavaScript ライブラリが追加 9

既知の問題 10

免責事項 11

概要

このドキュメントでは、 MVC 3 Tools Update for Visual Studio 2010 リリースについて説明します。

注意   このリリースは、 MVC 3 RTM をサポートする Visual Studio 付属ツールの更新プログラムです。このリリースでは、 MVC 3 のランタイム機能には変更がありません。System.Web.Mvc.dll アセンブリは更新されていません。

MVC は、Web アプリケーションの開発に Model-View-Controller (MVC) パターンを使用するフレームワークです。 MVC 3 Tools Update インストーラーには、次のコンポーネントが含まれています。

MVC 3 ランタイム コンポーネント

MVC 3 Visual Studio 2010 ツール

Web ページ ランタイム コンポーネント

Web ページ Visual Studio 2010 ツール

Microsoft Package Manager for .NET (NuGet) Version 1.2

Razor 構文のサポートを有効にする Visual Studio 2010 修正プログラム

MVC 3 のプレリリース版のすべてのリリース ノートは、次の URL の Web サイトで公開されています。



インストールに関する注意

重要: MVC 3 Tools Update をインストールする前に、必ず Visual Studio のすべてのインスタンスを終了してください。

Web Platform Installer (Web PI) を使用した MVC 3 Tools Update のインストール手順については、次のページを参照してください。



または、 MVC 3 Tools Update for Visual Studio 2010 のインストーラーを次のページからダウンロードしてください。

(英語)

MVC 3 Tools Update は、 MVC 2 Tools for Visual Studio 2010 との共存インストールおよび side-by-side 実行が可能です。既に MVC 3 RTM がインストールされている場合は、 MVC 3 Tools Update のインストーラーを実行することで、アップグレードできます。既存の MVC 3 をアンインストールする必要はありません。

ソフトウェア要件

MVC 3 ランタイム コンポーネントには、次のソフトウェアが必要です。

.NET Framework Version 4

MVC 3 Visual Studio 2010 ツールには、次のソフトウェアが必要です。

Visual Studio 2010 または Visual Web Developer 2010 Express

ドキュメント

MVC のドキュメントについては、次の URL で MSDN Web サイトを参照してください。



MVC のチュートリアルやその他の情報については、次の URL で Web サイトの MVC ページを参照してください。



サポート

このリリースは完全にサポートされています。テクニカル サポートのご利用方法については、マイクロソフト サポート オンラインを参照してください。

また、このリリースについての質問はお気軽に MVC フォーラムにお寄せください。このフォーラムでは、 コミュニティのメンバーによる非公式のサポートを受けられる場合が多くあります。



MVC 2 プロジェクトの MVC 3 へのアップグレード

既存の MVC 2 アプリケーションをバージョン 3 に手動でアップグレードするには、次の手順を実行します。

コンピューターに新しい MVC 3 プロジェクトを作成します。このプロジェクトには、アップグレードに必要ないくつかのファイルが含まれています。

MVC 3 プロジェクトから次のファイルを MVC 2 プロジェクトの対応する場所にコピーします。jQuery ライブラリへの参照を更新して、新しいファイル名を参照する必要があります (jQuery-1.5.1.js)。

/Views/Web.config

/packages.config

/scripts/*.js

/Content/themes/*.*

空の MVC 3 プロジェクト ソリューションのルートにある packages フォルダーを既存のソリューションのルートにコピーします。これは、ソリューションの .sln ファイルがあるディレクトリにあります。

MVC 2 プロジェクトに領域が含まれている場合は、/Views/Web.config ファイルを各領域の Views フォルダーにコピーします。

MVC 2 プロジェクトの両方の Web.config ファイル全体で、 MVC のバージョンを検索して置き換えます。次の文字列を検索します。

System.Web.Mvc, Version=2.0.0.0

上記を次の文字列に置き換えます。

System.Web.Mvc, Version=3.0.0.0

ソリューション エクスプローラーで、System.Web.Mvc (バージョン 2 の DLL を指す) への参照を削除し、System.Web.Mvc (v3.0.0.0) への参照を追加します。

System.WebPages.dll および System.Web.Helpers.dll への参照を追加します。これらのアセンブリは、次のフォルダーに保存されています。

%ProgramFiles%\ Microsoft \ MVC 3\Assemblies

%ProgramFiles%\ Microsoft \ Web Pages\v1.0\Assemblies

ソリューション エクスプローラーで、プロジェクト名を右クリックし、[プロジェクトのアンロード] を選択します。次に、プロジェクト名を再度右クリックして、[.csproj の編集] をクリックします。

ProjectTypeGuids 要素を探し、{F85E285D-A4E0-4152-9332-AB1D724D3325} を {E53F8FEA-EAE0-44A6-8774-FFD645390401} に置き換えます。

変更を保存してプロジェクトを右クリックし、[プロジェクトの再読み込み] をクリックします。

アプリケーションのルートの Web.config ファイルの assemblies セクションに、次の設定を追加します。

 MVC 2 を使用してコンパイルされたサードパーティのライブラリをプロジェクトが参照している場合、以下の強調表示された bindingRedirect 要素の部分をアプリケーション ルートにある Web.config ファイルの configuration セクションに追加します。

MVC 3 Tools Update での変更点

このセクションでは、 MVC 3 RTM リリース以降に追加された MVC 3 Tools Update リリースでの変更点について説明します。

[コントローラーの追加] ダイアログ ボックスで、ビューとデータ アクセス コードを使用したコントローラーのスキャフォールディングが可能に

スキャフォールディングを使用すると、アプリケーションのコントローラーとビューをすばやく生成できます。コードが生成されたら、プロジェクトの要件に合わせてコードを変更できます。

MVC 3 で [コントローラーの追加] ダイアログ ボックスを表示するには、ソリューション エクスプローラーで Controllers フォルダーを右クリックし、[追加] をクリックして、[コントローラー] をクリックします。このダイアログ ボックスには、新たにスキャフォールディング オプションが追加されています。

[pic]

既定では、3 種類のスキャフォールディング テンプレートが表示されます。

空のコントローラー

このテンプレートは、空のコントローラー ファイルを生成します。このテンプレートの動作は、 MVC の以前のバージョンで [作成、更新、詳細の各シナリオに対応するアクション メソッドを追加する] チェック ボックスをオフにした場合の動作と同じです。このテンプレートを選択した場合、その他のオプションは利用できません。

空の読み取り/書き込み操作のあるコントローラー

このテンプレートは、実装コードが設定されていませんが、必要なアクション メソッドがすべてあるコントローラー ファイルを生成します。このテンプレートの動作は、 MVC の以前のバージョンで [作成、更新、詳細の各シナリオに対応するアクション メソッドを追加する] チェック ボックスをオンにした場合の動作と同じです。このテンプレートを選択した場合、その他のオプションは利用できません。

Entity Framework を使用した、読み取り/書き込み操作とビューのあるコントローラー

このテンプレートでは、運用可能なデータ入力ユーザー インターフェイスをすばやく作成できます。次のような、さまざまな一般的な要件やシナリオに対応するコードが生成されます。

データ アクセス: 生成されたコードは、データベースのエンティティの読み取りおよび書き込みを行います。既存のデータ コンテキスト クラスを選択するか、テンプレートによって新しい DbContext クラスを生成している場合、Entity Framework Code First を利用できます。また、既存の ObjectContext クラスを選択している場合は、Entity Framework Database First または Model First を利用できます。

検証: 生成されたコードは、 MVC モデル バインディング機能とメタデータ機能を使用して、モデル クラスで宣言している規則に従ってフォーム送信が検証されるようにします。これには、Required 属性や StringLength 属性など、組み込みの検証規則と、カスタムの検証規則が含まれます。

一対多リレーションシップ: モデル クラス間に一対多外部キーリレーションシップを定義する場合、生成されたコードは関連エンティティを選択するためのドロップダウン リストを生成します。たとえば、Entity Framework Code First 規約に従って、次のモデル クラスを定義するとします。

public class Product

{

public int ProductId { get; set; }

[Required]

public string Name { get; set; }

// Product belongs to Category

public int CategoryId { get; set; }

public virtual Category Category { get; set; }

}

public class Category

{

public int CategoryId { get; set; }

[Required]

public string Name { get; set; }

}

その後、Product クラスのコントローラーをスキャフォールディングすると、ビューでは各 Product インスタンスの Category オブジェクトを選択できるようになります。

このテンプレートを利用する場合は、[コントローラーの追加] ダイアログ ボックスの他のオプションも有効になります。[モデル クラス] では、ソリューションに含まれる任意のモデル クラスを選択できます。これにより、ユーザーが作成または編集できるデータの種類が決まります。

Entity Framework Code First を使用する場合は、どのモデル クラスを選択してもかまいません。

Entity Framework Database First または Entity Framework Model First を使用する場合は、必ず、概念モデルに定義されているエンティティ クラスを選択してください。

[データ コンテキスト クラス] では、次の選択肢があります。

Code First を使用する場合に既存のデータ コンテキストがない場合は、[] を選択します。これにより、データ コンテキスト クラスが自動的に生成されます。

Code First を使用する場合に既存のデータ コンテキストがある場合は、そのコンテキストを選択します。選択したモデル クラスを保持するように、コンテキストが更新されます。

Database First または Model First を使用する場合は、オブジェクト コンテキスト クラスを選択します。

[ビュー] では、使用するビュー エンジンを選択するか、ビューのスキャフォールディングを行わない場合は [なし] を選択します。

[詳細設定] を選択すると、その他にも生成されたビューにオプションを指定できます。たとえば、使用するレイアウトやマスター ページを選択できます。

[新しい MVC 3 プロジェクト] ダイアログ ボックスの機能強化

新しい MVC 3 プロジェクトの作成に使用するダイアログ ボックスには、次の機能強化が施されています。

[pic]

"イントラネット プロジェクト" テンプレートの導入

[プロジェクト テンプレート] の一覧に、"イントラネット アプリケーション" テンプレートが加わりました。このテンプレートには、フォーム認証ではなく Windows 認証を使用する Web アプリケーションを作成するための設定が含まれています。イントラネット アプリケーションにはプロジェクト テンプレートに含めることができないいくつかの IIS 設定が必要なため、IIS でこのプロジェクト テンプレートを使用する手順が記載された Readme ファイルが、このテンプレートには含まれています。新しい "イントラネット アプリケーション" テンプレートのドキュメントについては、次の URL で MSDN Web サイトを参照してください。

(VS.98).aspx

プロジェクト テンプレートが HTML5 に対応

プロジェクトの新規作成ダイアログ ボックスに、HTML5 固有の機能をプロジェクト テンプレートに追加するオプションが追加されました。このオプションを選択すると、新たに HTML5 の 、、および 要素が含まれたビューが生成されます。

ただし、古いバージョンのブラウザーでは、HTML5 固有のタグがサポートされていないことに注意してください。この制限に対応するため、HTML5 プロジェクト テンプレートには、Modernizr ライブラリへの参照が含まれています (次のセクションを参照してください)。

プロジェクト テンプレートに Modernizr 1.7 が追加

Modernizr は、CSS 3 および HTML5 に対応していないブラウザーでこれらの機能をサポートできるようにする JavaScript ライブラリです。このライブラリは、 MVC 3 プロジェクトのテンプレートに、NuGet プレインストール パッケージとして含まれています。Modernizr の詳細については、 を参照してください。

プロジェクト テンプレートの jQuery、jQuery UI、および jQuery Validation のバージョンが新しく

プロジェクト テンプレートの jQuery スクリプトが次のバージョンになりました。

jQuery 1.5.1

jQuery Validation 1.8

jQuery UI 1.8.11

これらのライブラリは、NuGet プレインストール パッケージとして含まれています。

プロジェクト テンプレートに、NuGet プレインストール パッケージとして Entity Framework 4.1 が追加

Entity Framework 4.1 には、Code First 機能があります。Code First は既存の Database First パターンや Model First パターンに代えて使用できる Entity Framework の新しい開発パターンです。

Code First は、Visual Basic または C# で記述された POCO クラス ("plain old CLR object") を使用するモデルを定義するための機能です。これらのクラスは、既存のデータベースにマップするか、データベース スキーマの生成に使用できます。DataAnnotations 属性を使用するか、Fluent API を使用することで、追加の構成が可能です。

MVC での Code First の使用に関するドキュメントについては、次の URL で Web サイトを参照してください。





プロジェクト テンプレートに、NuGet プレインストール パッケージとして JavaScript ライブラリが追加

新しい MVC 3 プロジェクトを作成した場合に、スクリプトを直接プロジェクト テンプレート コンテンツの Scripts フォルダーに追加するのではなく、NuGet を使用して前述の JavaScript ファイル (Modernizr ライブラリ) をインストールすると、プロジェクトにはこれらのライブラリが含まれます。これにより、スクリプトの新しいバージョンがリリースされたときに、NuGet を使用してスクリプトを最新バージョンに更新できます。

たとえば、jQuery の新しいリリースが提供される頻度を考えると、プロジェクトに含まれる jQuery のバージョンは、ある時点で古くなります。しかし、jQuery はインストール済みの NuGet パッケージとして含まれているため、jQuery の新しいバージョンが公開されると NuGet のダイアログ ボックスによって通知されます。

jQuery ではファイル名にバージョン番号が含まれているため、jQuery を最新のバージョンに更新した場合は、jQuery ファイルを参照している タグも更新して、新しいファイル名を使用する必要があります。プロジェクトに含まれるその他のスクリプト ライブラリでは、スクリプト名にバージョン番号は含まれていないため、より簡単に最新バージョンに更新できます。

既知の問題

場合によっては、"インストールに失敗しました。エラー コード (0x80070643)" というエラー メッセージが返され、インストールが失敗することがあります。この問題を回避する方法の詳細については、サポート技術情報の記事 2531566 を参照してください。

コントローラーを追加するためのスキャフォールディングでは、Entity Framework 内のエンティティ継承サポートを利用するエンティティはスキャフォールディングされません。たとえば、Person 基本クラスが Student クラスによって継承される場合に、Student クラスをスキャフォールディングすると、コンパイルできないコードが生成されます。

ソリューション フォルダー内に新しい MVC 3 プロジェクトを作成すると、NullReferenceException エラーが発生します。回避策として、ソリューションのルートに MVC 3 プロジェクトを作成して、このプロジェクトをソリューション フォルダーに移動してください。

Razor 構文の IntelliSense は、ReSharper がインストールされていると機能しません。ReSharper をインストールしている場合に、 MVC 3 の Razor IntelliSense サポートを利用する場合は、Hadi Hariri のブログで、ReSharper と Razor IntelliSense サポートを現時点で併用する方法について説明している記事「Razor Intellisense and ReSharper」を参照してください。

インストール中にライセンス条項への同意を確認するためのダイアログ ボックスで、意図したよりも小さいウィンドウにライセンス条項が表示されます。

Razor ビュー (.cshtml または .vbhtml ファイル) の編集時に、 MVC のコード スニペットを選択すると、.aspx ビューのスニペットが表示されます。 MVC 3 には Razor ビューのスニペットは含まれていません。

Visual Studio がインストールされていないコンピューターに、 MVC 3 for Visual Web Developer Express をインストールし、その後 Visual Studio をインストールする場合、 MVC 3 を再インストールする必要があります。Visual Studio と Visual Web Developer Express は、 MVC 3 インストーラーによってアップグレードされるコンポーネントを共有しています。同様に、Visual Web Developer Express がインストールされていないコンピューターに、 MVC 3 for Visual Studio をインストールし、その後 Visual Web Developer Express をインストールする場合も、この問題に該当します。

免責事項

© 2011 Microsoft Corporation. All rights reserved.このドキュメントは何等保障もない現状有姿のままで提供されるものです。URL やその他のインターネット Web サイトの参照情報も含め、このドキュメントに記載されている情報や見解は、予告なしに変更される場合があります。これらの情報の使用に関するリスクは、お客様が負うものとします。

このドキュメントは、お客様に Microsoft 製品の知的財産権に関する法的権利を付与するものではありません。内部で参照する目的でのみ、このドキュメントを複製および使用できます。

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download