この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

.NET Framework 4 を新機能します。

[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]

ここでは、キーの機能と、.NET Framework Version 4 Beta 1 の強化点については説明します。 このトピックは、包括的な情報すべての新しい機能については提供しませんあり、変更が対象です。

新機能および強化された次について各節で説明します。

新機能と拡張の機能が Microsoft のプログラミング言語を明示的に .NET Framework を対象でについては、次のトピックを参照してください。

先頭に戻る

ここでは、セキュリティ、並列コンピューティング、パフォーマンス、診断、動的言語ランタイム、およびその他の CLR 関連テクノロジの新機能について説明します。

セキュリティ

.NET Framework 4 Beta 1 simplifications、向上、および、セキュリティ モデルの拡張機能を提供します。 詳細については、「.NET Framework Version 4.0 内のセキュリティの変更」を参照してください。

並列コンピューティング

.NET Framework 4 Beta 1 は大幅にアプリケーションとライブラリの開発者の作業を簡略化するャ泣 ' スレッドと非同期のコードの記述するための新しいプログラミング モデルを紹介します。 使用する、新しいモデルと、開発者書き込む効率的な詳細、および、自然な形式のスケーラブルな並列コード スレッドや、スレッド プールを直接操作することがなくできます。 新しい Parallel および Task クラス、および他の関連する種類では、この新しいモデルをサポートします。 並列 LINQ (PLINQ)、LINQ to Objects のパラレルな実装であるは同様の機能宣言構文を使用できます。 詳細については、「.NET Framework でのプログラミングを並列します。」を参照してください。

パフォーマンスおよび診断

でに加えて、次の機能、.NET Framework 4 Beta 1 が改善スタートアップ時間、作業セット サイズ、およびャ泣 ' スレッド アプリケーションの高速あります。

ETW イベント

Event Tracing for Windows (ETW) イベント パフォーマンスを向上させるために診断のために今すぐアクセスできます。 詳細については、の次のトピックを参照してください。

パフォーマンス モニタ (Perfmon.exe) では、同じ名前を使用する複数のアプリケーションおよび複数のバージョン、単一のプロセスによって読み込まれた共通言語ランタイムを明確に今すぐできます。 これには、単純なレジストリの変更が必要です。 詳細については、「パフォーマンス カウンタとサイド By サイド In-Process Applications」を参照してください。

コードの契約

コードのコントラクトを使用してはだけで、メソッドのまたは型の署名によって表示されていません契約情報の指定できます。 新しい System.Diagnostics.Contracts 名前空間にはクラス、post-conditions、pre-conditions の形式でコーディング前提データを表現する言語に依存しない方法を提供し、不変性をオブジェクトが含まれています。 コントラクト テスト実行時のチェックを向上させる、静的な契約の検証、およびドキュメントの生成有効にします。

該当するシナリオは次のとおりです。

  • コードを実行せずに検索するいくつかのバグを有効に静的なバグ検索を実行します。

  • テスト カバレッジを強化する自動化のテスト ツールの方法を作成します。

  • ドキュメントの詳細を提供するコード動作の標準的な表記を作成します。

遅延の Initialiation

遅延の初期化で、オブジェクトのメモリが割り当てられません必要なまで。 遅延の初期化は、プログラムの有効期間の間でオブジェクトの割り当てを均等な展開されてパフォーマンスを向上できます。 任意のカスタムの種類に対して遅延初期化を有効に折り返しの種類を System.Lazy<T> クラス内でできます。

動的言語ランタイム

動的言語ランタイム (DLR) は、CLR に一連の動的言語のサービスを追加する新しいランタイム環境。 DLR 簡単に開発動的言語の .NET Framework 上で実行するおよび静的に型指定された言語に動的な機能を追加します。 DLR をサポートするには、は、新しい System.Dynamic 名前空間が、.NET Framework に追加されます。 さらに、.NET Framework インフラストラクチャをサポートするいくつかの新しいクラスは、System.Runtime.CompilerServices 名前空間に追加されます。 詳細については、「動的言語ランタイムの概要」を参照してください。

プロセスでのサイド バイ サイドの実行

サイド バイ サイド インプロセスでホストして、アプリケーションを読み込み、複数のバージョン、同じプロセス内で共通言語ランタイム (CLR: Common Language Runtime) の認証ができます。 たとえば、.NET Framework 2.0 SP1 に基づくアプリケーションと同じプロセスで .NET Framework 4 Beta 1 に基づくアプリケーションを実行することができます。 古いコンポーネント同じ CLR バージョンを使用して新しいコンポーネントは新しい CLR バージョンを使用します。 詳細については、「.NET Framework 4 内の変更をホストします。」を参照してください。

相互運用性

相互運用性の新機能および強化は次をとおり

  • されなく使用プライマリ相互運用機能アセンブリ (PIA) する必要があります。 コンパイラは、アドインは実際に使用、およびタイプ セーフが共通言語ランタイムによって保証する相互運用機能アセンブリの部分を埋め込みます。

  • IUnknown::QueryInterface System.Runtime.InteropServices.ICustomQueryInterface メソッドの のカスタマイズされた、マネージ コード実装を作成するのに、 インターフェイスを使用できます。 アプリケーション使用のカスタマイズの実装を取得できます (IUnknown) を除く、特定のインターフェイスを特定のインターフェイス ID を

プロファイリング

.NET Framework 4 Beta 1 をいつでも実行されているプロセスにプロファイラをアタッチ、要求されたプロファイリング タスクを実行できデタッチします。 詳細については、[IClrProfiling::AttachProfiler]https://msdn.microsoft.com/ja-jp/library/dd695930(v=vs.100).aspx メソッドのトピックを参照してください。

ガーベジ コレクション

.NET Framework 4 Beta 1 提供背景ガベージ コレクション。 参照詳細については、してエントリ よう、’s、CLR 4.0 GC の新機能とは何でしょうか。、CLR ガベージ コレクタのブログです。  

共分散と Contravariance

いくつかのジェネリック インターフェイスおよびデリゲートは共分散と contravariance がサポートされます。 詳細については、「共分散と、共通言語ランタイムの Contravariance」を参照してください。

先頭に戻る

ここでは、コレクションとデータ構造、例外処理、I/O、リフレクション、スレッド、および Windows レジストリの新機能について説明します。

コレクションおよびデータ構造体

この領域の機能強化には、新しい System.Numerics.BigInteger 構造にはが含まれます System.Collections.Generic.SortedSet<T> ジェネリック クラス、組には。

BigInteger

新しい System.Numerics.BigInteger 構造はすべて、標準の整数など、操作ビット操作をサポートする任意の有効桁数の整数データ型です。 任意の .NET Framework 言語から使用できます。 さらに、この構造体の組み込みサポート、新しい .NET Framework 言語 (F # および IronPython) などのいくつかあります。

SortedSet 汎用クラス

新しい System.Collections.Generic.SortedSet<T> クラスは、挿入、削除、および検索後の並べ替え順序でデータを保持する self-balancing のツリーを提供します。 このクラスは、新しい System.Collections.Generic.ISet<T> インターフェイスを実装します。

System.Collections.Generic.HashSet<T> クラスには ISet<T> インターフェイスも実装します。

組は、異種の種類の項目の順序付きセットを保持する単純な汎用的なデータ構造です。 組は F # および IronPython をなどの言語でネイティブではサポートされてはまた、.NET Framework 言語 C# および Visual Basic などから簡単に使用できます。 。 .NET Framework 4 Beta 1 は、8 新しいジェネリックの組のクラスとも Tuple クラスの組を作成するための静的ファクトリ メソッドに追加します。

例外処理

.NET Framework 4 Beta 1 クラス ライブラリには、新しい System.Runtime.ExceptionServices 名前空間を含み、破損した状態の例外を処理する機能を追加します。  

破損した状態の例外

CLR によって、破損した状態の例外を処理するメソッドに、HandleProcessCorruptedStateExceptionsAttribute 属性を適用していない場合、マネージ コードによって処理されるオペレーティング システムで発生する破損した状態例外なった配信されます。

また、アプリケーションの構成ファイルに、次の設定を追加することができます。

legacyCorruptedStateExceptionsPolicy=true

I/O

I/O キーの新しい機能は効率的なファイルの列挙、メモリマップ ファイル、および強化分離ストレージと圧縮です。

ファイル システム列挙機能強化

Directory および DirectoryInfo クラスの新しい列挙メソッドは配列ではなく IEnumerable<T> コレクションを返します。 このメソッドを割り当てる (可能性のある大きいフォント) の配列を持っていないため、最初の結果発生することが、完了の列挙を待機のではなくすぐにアクセスできます、配列のベースの方法をより効率的。

読み取りおよび File のコレクションを使用してファイルから行を書きな静的 IEnumerable<T> クラスした新しいメソッドもあります。 これらのメソッドをことがある迅速かつ効率的をテキスト ファイルの内容をクエリせず、配列の割り当ての結果をログ ファイルを書き出す LINQ のシナリオで役立ちます。

メモリ マップ ファイル

新しい System.IO.MemoryMappedFiles 名前空間は Windows で使用可能なメモリのマッピング機能を提供します。 非常に大きなファイルを編集および inter-process の通信の共有メモリの作成をメモリマップ ファイル使用できます。 新しい System.IO.UnmanagedMemoryAccessor クラスを使用するとアンマネージ メモリを System.IO.UnmanagedMemoryStream によってアンマネージ メモリに順次アクセス方法と同様にランダムのアクセスできます。

分離ストレージの機能強化

Windows Presentation Framework (WPF) ブラウザ アプリケーション (XBAP) および ClickOnce 部分的に信頼アプリケーションなどの部分的に信頼アプリケーションここである、同じ機能 .NET Framework では Silverlight では。 既定のクォータ サイズが 2 倍になります、アプリケーションは、ユーザーを承認または却下クォータを増やすへの要求を入力できます。 System.IO.IsolatedStorage.IsolatedStorageFile クラスには、クォータを管理およびファイルとディレクトリの使用を容易の新しいメンバが含まれます。

圧縮機能強化

圧縮アルゴリズム、System.IO.Compression.DeflateStream および System.IO.Compression.GZipStream クラスが既に圧縮されているデータができなくなりましたように向上します。 これは、結果、あまり優れた圧縮比率。 また、4 GB のサイズの制限のストリームを圧縮するには、削除されました。

リフレクション

.NET Framework 4 Beta 1 では、アプリケーション ドメインのパフォーマンスの監視を機能を提供します。

アプリケーション ドメインのリソースの監視

ここでは、までしましたいないため、オペレーティング システム API およびツール、Windows タスク マネージャなど、プロセス レベルにのみ正確な特定のアプリケーション ドメインが他のアプリケーション ドメインに影響しているかどうかを判断する方法。 以降の .NET Framework 4 Beta 1 ですることができます取得プロセッサ使用率しアプリケーション ドメインあたりのメモリ使用量の見積もり。

アプリケーション ドメインのリソースの監視および使用している、マネージ AppDomain クラス、ネイティブのホスト API、イベント トレース for Windows (ETW)。 この機能が有効になって、いる場合、プロセスのプロセスですべてのアプリケーション ドメインでの統計情報が収集します。

詳細については、「<appdomainResourceMonitoring> Elementand、 AppDomain クラスの次のプロパティ」を参照してください。

64 ビット ビューとその他のレジストリ機能強化

Windows レジストリの強化点は次のとおりです。

  • 基本のキーを開いたときに、Microsoft.Win32.RegistryView 列挙型で、レジストリの 32 ビットまたは 64 ビット ビューを指定する機能。

  • 新しい Microsoft.Win32.RegistryOptions 列挙のコンピュータが再起動した後は保持されませんが揮発性のレジストリ キーを指定する指定できます。

スレッド処理

一般的なスレッドの強化点は次のとおりです。

  • 新しい Monitor.Enter(Object, Boolean) メソッドのオーバーロードは、ブール型 (Boolean) の参照として設定アトミックします true モニタが入力されて正常に場合にのみです。

  • Thread.Yield メソッドは、現在のプロセッサで実行するのに準備がある別のスレッドに実行が、呼び出しスレッドに使用できます。

ここでは、スレッドの新機能について説明します。

取り消しの統一モデル

.NET Framework 4 Beta 1 では、非同期操作のキャンセルするための統合モデル新しいが用意されています。 新規の System.Threading.CancellationTokenSource クラスは複数のスレッド上での操作の任意の数に渡されることがあります CancellationToken を作成する使用されます。 トークンの複製元のオブジェクトには Cancel() を呼び出す、ことによって、トークンには、 IsCancellationRequested プロパティが true に設定し、する時に、トークンで登録されているアクションが呼び出される、トークン内の待機ハンドルが通知。 オブジェクトがそのトークンへの参照をそのプロパティの値を監視したり、返信したり適宜できます。

スレッド セーフ コレクション クラス

新しい System.Collections.Concurrent 名前空間役立つ、およびロック ロックが適切な詳細に設定されるたびに、項目へのロックを解放アクセスを提供するいくつかの新しいスレッド セーフなコレクション クラスを紹介します。 マルチスレッドのシナリオでこれらのクラスの使用は、ArrayListList<T> などのコレクションの種類でパフォーマンスを向上する必要があります。

同期プリミティブ

System.Threading 名前空間内の新しい同期プリミティブは、詳細な同時実行と高速の高価なロック メカニズムを回避するによって有効にします。 Barrier クラスには、cooperatively アルゴリズムでポイントする各タスクの到着を通知したりし、壁に他の参加者が到着するまでをブロックを提供することで作業する複数のスレッドができます。 CountdownEvent クラスは簡単 Rendezvous メカニズムを提供することによってフォークと参加状況を簡略化します。 ManualResetEventSlim クラスが、ロックを解放同期プリミティブ、 ManualResetEvent クラスと同様です。 ManualResetEventSlim 明るい太さが intra-process 通信のみは使用できます。 SemaphoreSlim クラスが、軽量な同期プリミティブ、同時に、リソースにアクセスできるスレッドの数やリソースのプールを制限します。 intra-process 通信だけに使用できます。 SpinLock クラスが、相互排除ロック プリミティブと、ロックが使用可能になりますまでループ、またはスピンで待機するロックの取得しようとしてはスレッド。 SpinWait クラスは、小規模、軽量な型は時間スピンし、最終的に配置、スレッドを待機状態にスピン カウントを超えた場合です。

先頭に戻る

拡張機能が影響する行われています統合方法の Windows 認証は、HttpWebRequestHttpListenerSmtpClientSslStreamNegotiateStream、および関連のクラス、 System.Net および関連する名前空間によって処理されます。 サポートが拡張保護セキュリティを強化するために追加されました。 拡張の保護をサポートの変更は Windows 7 上のアプリケーションのみ使用できます。 以前のバージョンの Windows では、拡張の保護機能はできません。 詳細については、「 Integrated Windows Authentication with Extended Protection」を参照してください。

先頭に戻る

ここでは、ASP.NET コア サービス、Web フォーム、Dynamic Data、および Visual Web Developer の新機能について説明します。

ASP.NET のコア サービス

ASP.NET にはいくつかの機能が主要な ASP.NET サービス、Web フォーム、Dynamic Data、および Visual Web Developer されています。 詳細については、ASP.NET および Web 開発の で [新規作成] を ’s] を参照してください。

ASP.NET Web フォーム

Web フォームは ASP.NET 1.0 のリリース後に、ASP.NET のコア機能になりました。 多くの拡張機能に加えられたこのエリア ASP.NET 4 で、次の。

  • meta タグを設定する機能。

  • ビュー ステートより細かく制御します。

  • 簡単なブラウザ機能の使用方法です。

  • ASP.NET Web フォームでのルーティングを使用してのサポート。

  • 細かく制御 ID が生成されます。

  • データ コントロールで選択した行を保持する機能。

  • レンダリングの HTML、FormView および ListView のコントロールにより細かく制御します。

  • データ ソース コントロールのサポートをフィルタします。

動的データ

ASP.NET 4、動的なデータがさらに多くの電力すばやくデータ駆動型の Web サイトを構築するための開発者に与える強化されています。 この、次のとおりです。

  • データ モデルで定義されている制約に基づく自動検証します。

  • フィールド テンプレートは、動的データ プロジェクトの一部を使用してによって、GridView および DetailsView コントロール内のフィールドに生成されるマークアップを簡単に変更する機能。

Visual Web Developer Enhancements

Visual Studio 2010 で、Web ページの設計者の優れた CSS 互換性が強化されました HTML および ASP.NET のマークアップ コード例、追加サポートされていて、JScript の再設計 IntelliSense のバージョンの機能します。 さらに、Web パッケージし 1] 発行簡単な Web アプリケーションの展開に 2 つの新しい展開機能呼び出されます。

先頭に戻る

ここでは、Windows Presentation Foundation (WPF) およびマネージ Extensibility Framework (MEF) の新機能について説明します。

Windows Presentation Foundation

.NET Framework 4 Beta 1 で Windows Presentation Foundation (WPF) には変更および強化された多くの領域が含まれます。 コントロール、グラフィック、および XAML が含まれます。

詳細については、「What's New in Windows Presentation Foundation Version 4」を参照してください。

マネージ Extensibility Framework

マネージ Extensibility Framework (MEF) は拡張と composable アプリケーションを構築することができます .NET Framework 4 Beta 1 に新しいライブラリです。 MEF は、アプリケーション開発者は指定ポイントをアプリケーション拡張できる、他の拡張可能なアプリケーションに提供するサービスを公開を拡張可能なアプリケーションによって消費のパーツを作成することができます。 また、簡単な検出を部分のアセンブリを読み込む必要なく、メタデータに基づいて使用可能な部分のことができます。

詳細については、マネージ Extensibility Framework を参照してください。 MEF 型の一覧] について、System.ComponentModel.Composition 名前空間を参照してください。

先頭に戻る

詳細については、「ADO.NET の新機能」を参照してください。

式ツリー

式ツリーに制御フローを表す新しい型、LoopExpression および TryExpression に拡張されます。 これらの新しい種類は、動的言語ランタイム (DLR) によって使用され、LINQ で使用されません。

先頭に戻る

Windows Communication Foundation (WCF) は新しい機能と拡張機能について、次の各節で説明を示します。

WS-検出のサポート

サービス探索機能は、使用するとクライアント アプリケーション WS-探索を使用して相互運用可能な方法で実行時にサービスのアドレスを動的に検出できます。 WS-探索仕様概要両方 (ad hoc) マルチキャストとユニキャスト (ネットワーク リソースを使用)、サービスの軽量の発見の実行に必要なメッセージ交換パターン (MEPs) を示します。

標準のエンドポイント

標準のエンドポイントは、プロパティの (アドレス、バインド、契約) 修正が 1 つ以上搭載した定義済みエンドポイントは。 たとえば、すべてのメタデータ交換エンドポイント IMetadataExchange として指定、コントラクト、ため、開発者は、コントラクトを指定する必要を必要がありません。 そのための標準の MEX エンドポイントは、固定 IMetadataExchange のコントラクトをします。

ワークフロー サービス

一連のメッセージ アクティビティの導入、方ことをしてデータを送受信するワークフローを実装よりも簡単です。 これらメッセージングの操作では、従来の送信/受信または RPC スタイル メソッドの呼び出しの外部に移動する複雑なメッセージ交換パターンをモデル化できます。

先頭に戻る

Windows Workflow Foundation (WF) .NET Framework 4 Beta 1 では以前のバージョンからいくつかの開発パラダイムを変更します。 ワークフロー簡単に作成、実行、および保守になります。

ワークフロー アクティビティ モデル

活動により、SequentialWorkflowActivityStateMachineWorkflowActivity クラスではなく、ワークフローを作成する基本単位がなりますられます。 WorkflowElement クラスは、ワークフローの動作の基本の抽象化を提供します。 ランタイムの幅を使用する場合、WorkflowElement オブジェクトは強制的実装アクティビティの作成者。 Activity クラスはアクティビティの作成者がアクティビティの他のオブジェクトの面で宣言によって新しい動作を表現するをデータ ドリブン WorkflowElement オブジェクトです。

豊富な複合アクティビティ オプション

Flowchart クラスには、強力な新しいコントロール フロー アクティビティがより自然なプロセス フローを構築する作成者できます。 手順に関するワークフローの恩恵を TryCatchSwitch などの従来のフロー制御構造をモデルに新しいフロー制御活動。

組み込みアクティビティ ライブラリを展開します。

アクティビティ ライブラリの新しい機能は次のとおりです。

  • データ アクセスの活動を ODBC データ ソースと対話します。

  • 新しいフロー制御活動は DoWhileForEachParallelForEach などです。

  • PowerShell と SharePoint と対話の活動です。

拡張の永続性およびアンロード

ワークフローの状態データは、Persist アクティビティを使用して明示的に永続化ことができます。 ホストをアンロードせず、WorkflowInstance を保持することができます。 ワークフローを指定なし-永続化は、no-persist ゾーンが終了するまでに延期されるように保存できませんされるデータを扱う場合、ゾーンを保持します。

WF デザイナ エクスペリエンスを拡張する強化された機能

新しい WF デザイナは、Windows Presentation Foundation (WPF) に組み込まれていて、Visual Studio の外部 WF デザイナを rehosting するときに使用する簡単なモデルを提供します。 これは、カスタム アクティビティ デザイナを作成するための簡単な機構が用意もされています。 詳細については、「Extending the Workflow Designer」を参照してください。

表示: