ASP.NET and Web Tools 2012.2 リリース ノート (RTW)

このドキュメントでは、ASP.NET and Web Tools 2012.2 のリリースについて説明します。 これは、Visual Studio Web ツールと ASP.NET の更新プログラムです。

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

ASP.NET and Web Tools 2012.2 for Visual Studio 2012 は、Web プラットフォーム インストーラーを使用してインストールできます。 これは、Visual Studio 2012 または Visual Studio Express 2012 for Web の更新プログラムです。これは必須です。 Visual Studio がインストールされていない場合は、Visual Studio Express 2012 for Web がインストールされます。

ASP.NET and Web Tools 2012.2 を手動でインストールすることもできます。 Visual Studio 2012 または Visual Studio Express 2012 for Web がインストールされている必要があります。 その後、次の手順に従います。

  1. ダウンロード センターから ASP.NET および Web Frameworks 2012.2 インストーラーをダウンロードします。
  2. プロンプトが表示されたら、[実行] をクリックします。 ファイルを保存して後で実行することもできます。
  3. 更新する Visual Studio のバージョンを確認します。 これを行うには、更新する Visual Studio を起動します。 次に、[ヘルプ] メニュー項目をクリックします。
    [ヘルプ] ドロップダウン メニューを示すスクリーンショット。Microsoft Visual Studio Express 2012 for Web について、赤で囲まれています。
  4. メニュー項目 "Microsoft Visual Studio 2012 for Web について" が表示された場合は、Web Developer Tools 2012.2 - Visual Studio Express 2012 for Web をダウンロードします。 それ以外の場合は、Web Developer Tools 2012.2 - Visual Studio 2012 をダウンロードします。
  5. プロンプトが表示されたら、[実行] をクリックします。 ファイルを保存して後で実行することもできます。

注意

ASP.NET and Web Tools 2012.2 リリースには、SQL Server Data Toolsは含まれていません。 SQL Serverおよび Windows Azure SQL データベースは、オフライン プロジェクトに基づく開発、スキーマ比較、強化されたデータベース配置機能など、より豊富なデータベース ツールセットを提供します。 詳細については、または SQL Server Data Tools のインストールに関するページを参照してくださいhttps://go.microsoft.com/fwlink/?LinkID=237127

ドキュメント

ASP.NET and Web Tools 2012.2 に関するチュートリアルとその他の情報は、ASP.NET Web サイト ( https://www.asp.net) から入手できます。

サポート

ASP.NET and Web Tools 2012.2 は正式にリリースされ、サポートされています。 通常のサポート チャネルを使用できます。 また、ASP.NET コミュニティのメンバーが非公式のサポートを頻繁に提供できる ASP.NET フォーラム (https://forums.asp.net/) に質問を投稿することもできます。

ソフトウェア要件

ASP.NET and Web Tools 2012.2 には、Visual Studio 2012 または Visual Studio Express 2012 for Web が必要です。

ASP.NET and Web Tools 2012.2 の新機能

このセクションでは、ASP.NET and Web Tools 2012.2 リリースで導入された機能について説明します。

ツール

  • Page Inspector

  • エディター

    • CoffeeScript、Mustache、Handlebars、JsRender の構文の強調表示をサポートします。
    • HTML エディターは、Knockout バインドの Intellisense を提供します。
    • LESS を使用した動的 CSS の構築を可能にする LESS 編集とコンパイラのサポート。
    • JSON を .NET クラスとして貼り付けます。 この Special Paste コマンドを使用して JSON を C# または VB.NET コード ファイルに貼り付けると、Visual Studio によって JSON から推論された .NET クラスが自動的に生成されます。
  • モバイル エミュレーターのサポートにより、サード パーティのエミュレーターを VSIX としてインストールできるように、機能拡張フックが追加されます。 インストールされているエミュレーターは F5 ドロップダウンに表示されるため、開発者はさまざまなモバイル デバイスで Web サイトをプレビューできます。 この機能の詳細については、 Visual Studio との新しい BrowserStack 統合に関する Scott Hanselman のブログ エントリを参照してください。

Web 公開

  • Web サイト プロジェクトは、Windows Azure Web サイトへの発行を含む Web アプリケーション プロジェクトと同じ発行エクスペリエンスを持つようになりました。

  • 選択的発行 – 1 つ以上のファイルに対して、(Web 配置エンドポイントに発行した後に) 次のアクションを実行できます。

    • 選択したファイルを発行します。
    • ローカル ファイルとリモート ファイルの違いを確認します。
    • ローカル ファイルをリモート ファイルで更新するか、ローカル ファイルを使用してリモート ファイルを更新します。

ASP.NET MVC テンプレート

  • 新しい Facebook Application テンプレートを使用すると、Facebook Canvas アプリケーションを簡単に作成できます。 いくつかの簡単な手順で、ログイン ユーザーのデータを取得してその友達と統合する Facebook アプリケーションを作成できます。 このテンプレートには、認証、アクセス許可、Facebook データへのアクセスなど、Facebook アプリケーションの作成に必要なすべてのパーツを処理する新しいライブラリが含まれています。 Facebook アプリケーション テンプレートの使用の詳細については、「」を参照してください https://go.microsoft.com/fwlink/?LinkID=269921
  • 新しい Single Page Application MVC テンプレートを使用すると、ASP.NET Web API を基礎にして、HTML 5、CSS 3、および人気のある Knockout ライブラリや jQuery JavaScript ライブラリを使用して対話型のクライアント側 Web アプリケーションを作成できます。 このテンプレートには、RESTful サーバー API を使用する JavaScript HTML5 アプリケーションを構築するための一般的なプラクティスを示す "todo" リスト アプリケーションが含まれています。 詳細については、 を参照してください https://www.asp.net/single-page-application
  • [ASP.NET MVC 新しいプロジェクト] ダイアログに新しいテンプレートを追加する VSIX を作成できるようになりました。 詳細については、こちらを参照してください。 https://go.microsoft.com/fwlink/?LinkId=275019
  • FixedDisplayModes パッケージ – MVC プロジェクト テンプレートが更新され、MVC 4 のバグの回避策を含む新しい 'FixedDisplayModes' NuGet パッケージが含まれています。 パッケージに含まれる修正プログラムの詳細については、MVC チームのブログ投稿 (/archive/blogs/rickandy/asp-net-mvc-4-mobile-caching-bug-fixed) を参照してください。

ASP.NET Web API

ASP.NET Web APIは、いくつかの新機能で強化されました。

  • OData の ASP.NET Web API
  • ASP.NET Web API トレース
  • ASP.NET Web API ヘルプ ページ

OData の ASP.NET Web API

ASP.NET Web API OData を使用すると、任意のデータ ソースに対して豊富なビジネス ロジックを使用して OData エンドポイントを構築するために必要な柔軟性が提供されます。 ASP.NET Web API OData を使用すると、公開する OData セマンティクスの量を制御できます。 ASP.NET Web API OData は、ASP.NET MVC 4 プロジェクト テンプレートに含まれており、NuGet (https://www.nuget.org/packages/microsoft.aspnet.webapi.odata) からも使用できます。

ASP.NET Web API OData では現在、次の機能がサポートされています。

  • [Queryable] 属性を適用して OData クエリ セマンティクスを有効にします。
  • OData クエリを簡単に検証し、サポートされているクエリ オプション、演算子、関数のセットを制限できます。
  • パラメーターを ODataQueryOptions に直接バインドして、クエリの抽象構文ツリー表現を取得し、IQueryable または IEnumerable に検証して適用できます。
  • [Queryable] 属性の結果制限を指定して、サービス駆動型ページングと次のページ リンク生成を有効にします。
  • $inlinecountを使用して、一致するリソースの合計数のインラインカウントを要求します。
  • null 伝達を制御します。
  • $filterの Any/All 演算子。
  • 慣例によってエンティティ データ モデルを推論するか、Entity Framework Code-First と同様の方法でモデルを明示的にカスタマイズします。
  • EntitySetController から派生してエンティティ セットを公開します。
  • ナビゲーション プロパティの公開、リンクの操作、OData アクションの実装のための、シンプルでカスタマイズ可能な規則。
  • MapODataRoute 拡張メソッドを使用した簡略化されたルーティング。
  • 複数の EDM モデルを公開してバージョン管理をサポートします。
  • Web API のクライアント (.NET、Windows Phone、Windows ストアなど) を生成できるように、サービス ドキュメントと$metadataを公開します。
  • OData Atom、JSON、JSON の詳細形式のサポート。
  • エンティティの作成、更新、部分的な更新 (PATCH) と削除。
  • エンティティ間のリレーションシップのクエリと操作。
  • ルートに接続するリレーションシップ リンクを作成します。
  • 複合型。
  • エンティティ型の継承。
  • コレクションのプロパティ。
  • 列挙 型。
  • OData アクション。
  • WCF Data Servicesと同じ基盤、つまり ODataLib (https://www.nuget.org/packages/microsoft.data.odata) に基づいて構築されます。

OData ASP.NET Web APIの詳細については、「」を参照してくださいhttps://go.microsoft.com/fwlink/?LinkId=271141

ASP.NET Web API トレース

ASP.NET Web API トレースは、Web API からのトレース データを .NET Tracing と統合します。 Web API プロジェクト テンプレートで既定で有効になりました。 Web API のトレース データは [出力] ウィンドウに送信され、IntelliTrace を介して使用できるようになります。 ASP.NET Web APIトレースを使用すると、Windows Azure Diagnosticsとの統合を通じて、Windows Azure でホストされている場合に Web API に関する情報をトレースできます。 ASP.NET Web API Tracing NuGet パッケージ (https://www.nuget.org/packages/microsoft.aspnet.webapi.tracing) を使用して、任意のアプリケーションで ASP.NET Web API Tracing をインストールして有効にすることもできます。

ASP.NET Web API トレースの構成と使用の詳細については、「」を参照してくださいhttps://go.microsoft.com/fwlink/?LinkID=269874

ASP.NET Web API ヘルプ ページ

ASP.NET Web API ヘルプ ページが Web API プロジェクト テンプレートに既定で含まれるようになりました。 ASP.NET Web API ヘルプ ページでは、HTTP エンドポイント、サポートされている HTTP メソッド、パラメーター、要求および応答メッセージペイロードの例など、Web API のドキュメントが自動的に生成されます。 ドキュメントは、コード内のコメントから自動的にプルされます。 ASP.NET Web API ヘルプ ページ NuGet パッケージ (https://www.nuget.org/packages/microsoft.aspnet.webapi.helppage) を使用して、ASP.NET Web API ヘルプ ページを任意のアプリケーションに追加することもできます。

ASP.NET Web API ヘルプ ページの設定とカスタマイズの詳細については、「」を参照してくださいhttps://go.microsoft.com/fwlink/?LinkId=271140

ASP.NET SignalR

ASP.NET SignalR を使用すると、WebSocket (使用可能な場合) を使用して、ASP.NET アプリケーションにリアルタイム Web 機能を簡単に追加でき、そうでない場合は他の手法に自動的にフォールバックします。

ASP.NET SignalR の使用の詳細については、「」を参照してください https://go.microsoft.com/fwlink/?LinkId=271271

ASP.NET Friendly URL

ASP.NET FriendlyURLs を使用すると、Web フォーム開発者は(.aspx 拡張子なしで) 見栄えの良い URL を簡単に生成できます。 構成はほとんど必要なく、既存の ASP.NET v4.0 アプリケーションで使用できます。 FriendlyURLs 機能を使用すると、デスクトップビューとモバイルビューの切り替えをサポートすることで、開発者はアプリケーションにモバイルサポートを簡単に追加できます。

ASP.NET フレンドリ URL のインストールと使用の詳細については、「」を参照してください http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx

既知の問題と重大な変更

このセクションでは、ASP.NET and Web Tools 2012.2 リリースの既知の問題と破壊的変更について説明します。

インストールに関する問題

Visual Studio 2012 の順にインストールされていません

ASP.NET and Web Tools 2012.2 をインストールした後に Visual Studio 2012 の追加 SKU をインストールするには、修復操作が必要です。 次の例について考えてみます。

  1. Visual Studio 2012 Express for Web をインストールする
  2. ASP.NET and Web Tools 2012.2 をインストールする
  3. Visual Studio 2012 Professional、Premium、Ultimate をインストールする

手順 2 では、Express for Web の更新プログラムのみがインストールされます。 手順 3 でインストールされた追加の SKU に更新プログラムが含まれていることを確認するには、最後にインストールされた SKU の更新プログラムをインストールするために、ASP.NET and Web Tools 2012.2 を修復する必要があります。 これは、手順 1 と 3 の SKU が逆になっている場合にも適用されます。

Visual Studio が開いている場合Microsoft ASP.NET and Web Tools 2012.2 をインストールする

Microsoft ASP.NET and Web Tools 2012.2 のインストール中に VS が開いている場合、Visual Studio の状態が悪くなることがあります。 インストールを続行する前に、ユーザーが Visual Studio のすべてのインスタンスを閉じておくことをお勧めします。

インストールの途中 ASP.NET and Web Tools 2012.2 セットアップを取り消す

インストールの途中 ASP.NET and Web Tools 2012.2 のセットアップをキャンセルすると、Visual Studio は無効な状態になります。 この問題に対処するには、次の手順に従います。

  • [プログラムの追加と削除] に移動します
  • 2012.2 Microsoft ASP.NET and Web Toolsアンインストールします (存在する場合)。
  • Microsoft ASP.NET and Web Tools 2012.2 を再インストールする

ASP.NET and Web Tools 2012.2 をアンインストールした後、ASP.NET MVC 4 テンプレートと Razor v2 Web サイト テンプレートがありません

ASP.NET and Web Tools 2012.2 をアンインストールすると、visual Studio 2012 からすべての ASP.NET MVC 4 および Razor v2 Web サイト テンプレートもアンインストールされます。

回避策は、Visual Studio 2012 のインストールを修復して、MVC 4 と Razor v2 Web サイト テンプレート ASP.NET 再インストールすることです。

ツールの問題

プロジェクトの作成時に報告された NuGet エラー

ASP.NET and Web Tools 2012.2 をインストールすると、MVC 4 プロジェクトを作成するときに次のエラーが表示される場合があります

Microsoft Visual Studio のエラー メッセージを示すスクリーンショット。

ASP.NET and Web Tools 2012.2 には NuGet 2.1 が付属しており、Visual Studio 2012 で拡張機能をアップグレードします。 場合によっては、VSIX インストーラーが VSIX を正しく更新できない場合があります。 次の手順を実行すると、この問題に対処できます。

  1. Visual Studio 2012 を管理者として起動する

  2. [ツール-> 拡張機能] に移動し、NuGet を更新してアンインストールします。

  3. Visual Studio を閉じる

  4. ASP.NET and Web Tools 2012.2 インストール フォルダーに移動します。

    1. Visual Studio 2012 の場合: Program Files\Microsoft ASP.NET\ASP.NET Web Stack\Visual Studio 2012
    2. Visual Studio 2012 Express for Web の場合: Program Files\Microsoft ASP.NET\ASP.NET Web Stack\Visual Studio Express 2012 for Web
  5. NuGet.Tools.vsix をダブルクリックして NuGet を再インストールする

Web API の問題

$filter リテラルと DateTime リテラルの解析に関する問題

OData URI パーサーは、部分的な datetime リテラルを正しく解析できません。 たとえば、$filter=start eq datetime'2012-12-31T12:00' は正しく解析できません。 回避策は、完全なリテラル $filter=start eq datetime'2012-12-31T12:00:00' を使用することです。

OData では、大文字と小文字を区別しないプロパティ名はサポートされていません。

OData では、OData クエリと odata パスでは、大文字と小文字を区別しないプロパティ名はサポートされていません。

javascript クライアント側とサーバー側でユーザーの大文字と小文字が異なる場合は、おそらくこの問題が発生します。 この問題は、odata プロトコルでの設計による問題です。 ただし、多くのユーザーがこの問題を報告しています。 これを回避するには、ユーザーは URL でケースを修正する必要があります。

既定の OData ルーティング規則では、ナビゲーション プロパティの POST/PUT はサポートされていません。

既定の OData ルーティング規則では、ナビゲーション プロパティの POST/PUT はサポートされていません。 既定の規則では、この一般的に使用される規則がありません。

これを回避するには、ユーザーが新しいルーティング規則を拡張してサポートする必要があります。

Facebook テンプレートの問題

Facebook アプリケーション テンプレートは .NET 4.5 のみを使用して動作します

MVC 4 で Facebook アプリケーション テンプレートを表示するには、[新しいプロジェクト] ダイアログのフレームワーク ドロップダウン リストで [.NET 4.5] ASP.NET 選択する必要があります。

リアルタイム更新コントローラー

Facebook アプリケーション テンプレートを使用すると、ユーザーは Web API コントローラーを簡単に作成して、Facebook からのリアルタイムの更新を処理できます。 開発用マシンが NAT の背後にある場合は、ネットワーク構成を追加しないとコントローラーが動作しない可能性があります。 詳細については、こちらを参照してください。 http://facebook.stackoverflow.com/questions/5259467/can-a-computer-behind-a-nat-router-receive-realtime-updates-from-facebook

クエリ文字列値が Facebook OAuth パラメーターと競合する

次のフィールドは、Facebook OAuth ダイアログのコールバック URL と競合します。 コード、エラー、error_description、error_reasonという名前の独自のクエリ文字列値を追加しないでください。

Facebook テンプレートでPage Inspectorを使用する

Facebook アプリケーションのデバッグ中に Visual Studio 2012 でPage Inspector機能を使用することはできません。 Page Inspectorは現在 iframe をサポートしていません。

シングル ページ アプリケーション テンプレートの問題

JQuery 1.9/Knockout 2.2.1 更新プログラムでは、既定の MVC SPA プロジェクトを実行すると、新しい todo 項目の編集 enter フォーカス イベントが正しく処理されません。

JQuery 1.9/Knockout 2.2.1 の更新では、既定の MVC SPA プロジェクトを実行するときに、新しい todo アイテムの編集が、新しい todo アイテムを todo リストに入力した後、新しい todo アイテム編集ボックスにフォーカスを戻さなくなりました。

回避策として を参照 http://knockoutjs.com/documentation/hasfocus-binding.htmlし、次のサンプル コードと同様の修正を行います。

ファイルのtodo.model.js
関数 todolist(data)、次を追加します。
self.isSelected = ko.observable(false);

関数 todoList.prototype.addTodo に、次の黒いテキストを追加します。
self.isSelected(true);
self.newTodoTitle("");

ファイル index.cshtml に、次の黒いテキストを追加します。
<form data-bind="submit: addTodo">
<input class="addTodo" type="text" data-bind="value: newTodoTitle, placeholder: 'Type here to add', blurOnEnter: true, hasfocus: isSelected, event: { blur: addTodo }" />
</フォーム>