diff --git a/README.md b/README.md index 5acda58d30d..ce7c51b3a1a 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ -# .NET Docs +# .NET ドキュメント -This repo contains work-in-progress documentation for .NET. To contribute, see the [Contributing Guide](https://github.com/dotnet/docs/blob/master/CONTRIBUTING.md) and the [issues list](https://github.com/dotnet/docs/issues). +このリポジトリには、.NET の概念に関するドキュメントが含まれています。 [.NET ドキュメント サイト](https://docs.microsoft.com/dotnet)は次のものに加え、複数のリポジトリから構築されています。 -We welcome contributions to help us improve and complete the .NET docs. Feel free to copy/paste documentation from [.NET Framework docs](https://msdn.microsoft.com/library/w0x726c2.aspx) as a starting point for .NET docs. We anticipate that [Xamarin](http://developer.xamarin.com/api/root/classlib/), [Mono](http://docs.go-mono.com/?link=root%3a%2fclasslib) and [Unity](http://docs.unity3d.com/Manual/index.html) will also use this documentation. +- [コード サンプルとスニペット](https://github.com/dotnet/samples) +- [API リファレンス](https://github.com/dotnet/dotnet-api-docs) +- [.NET Compiler Platform SDK リファレンス](https://github.com/dotnet/roslyn-api-docs) -This project has adopted the code of conduct defined by the Contributor Covenant -to clarify expected behavior in our community. -For more information, see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). +これら 3 つすべてのリポジトリの問題とタスクがここに記載されています。 これらのリソースを使用した大規模なコミュニティがあります。 問題に適切なタイミングで対処するように最善を努めています。 [問題のポリシー](issues-policy.md)に関するトピックに、問題を分類して解決するための手順を詳しく説明しています。 -Samples Build Status -=== +.NET ドキュメントの改善と完成に役立つご協力をお待ちしています。ご投稿いただく場合は、[.NET コミュニティの共同作成者用のプロジェクト](https://github.com/dotnet/docs/projects/35)でさまざまなアイデアをご覧ください。 [共同作成ガイド](https://github.com/dotnet/docs/blob/master/CONTRIBUTING.md)に、使用されている手順に関する説明があります。 または、関心のあるタスクの[問題リスト](https://github.com/dotnet/docs/issues)をご確認ください。 -| Samples | Ubuntu 16.04
_.NET Core 1.1.0_ | Ubuntu 16.04
_.NET Core 2.0.0-preview_ | -| ------------- |------------| -----| -| `/samples/core` | ![](https://constructors.visualstudio.com/_apis/public/build/definitions/3186585f-1677-4c9e-a8b2-baac48a4032a/56/badge)| ![](https://constructors.visualstudio.com/_apis/public/build/definitions/3186585f-1677-4c9e-a8b2-baac48a4032a/57/badge) | -|`/samples/csharp`| ![](https://constructors.visualstudio.com/_apis/public/build/definitions/3186585f-1677-4c9e-a8b2-baac48a4032a/54/badge)| ![](https://constructors.visualstudio.com/_apis/public/build/definitions/3186585f-1677-4c9e-a8b2-baac48a4032a/55/badge) | +[Xamarin](https://docs.microsoft.com/xamarin)、[Mono](http://docs.go-mono.com/?link=root%3a%2fclasslib) および [Unity](http://docs.unity3d.com/Manual/index.html) でもこのドキュメントが使用される予定です。 + +このプロジェクトでは、当コミュニティで期待される動作を明らかにするために共同作成者契約で定義された倫理規定を採用しています。 +詳細については、「[.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct)」(.NET Foundation の倫理規定) を参照してください。 diff --git a/docs/core/deploying/index.md b/docs/core/deploying/index.md index 2eebd86c15c..2b3ccf2c203 100644 --- a/docs/core/deploying/index.md +++ b/docs/core/deploying/index.md @@ -4,12 +4,12 @@ description: .NET Core アプリケーションの展開。 author: rpetrusha ms.author: ronpet ms.date: 09/03/2018 -ms.openlocfilehash: 2ef63ebd737739b2c8e671d982c3844135689ab4 -ms.sourcegitcommit: 4b6490b2529707627ad77c3a43fbe64120397175 +ms.openlocfilehash: 390af06e81788c3f64f255e5c85efdaa167274f4 +ms.sourcegitcommit: 586dbdcaef9767642436b1e4efbe88fb15473d6f ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/10/2018 -ms.locfileid: "44277159" +ms.lasthandoff: 10/06/2018 +ms.locfileid: "48836629" --- # .NET Core アプリケーションの展開 diff --git a/docs/csharp/programming-guide/delegates/index.md b/docs/csharp/programming-guide/delegates/index.md index e2146cafab9..b4e7145543b 100644 --- a/docs/csharp/programming-guide/delegates/index.md +++ b/docs/csharp/programming-guide/delegates/index.md @@ -5,12 +5,12 @@ helpviewer_keywords: - C# language, delegates - delegates [C#] ms.assetid: 97de039b-c76b-4b9c-a27d-8c1e1c8d93da -ms.openlocfilehash: 3924d070ea012faf33f1d808b92b1328626ef567 -ms.sourcegitcommit: 3c1c3ba79895335ff3737934e39372555ca7d6d0 +ms.openlocfilehash: 96de5601c60dd309fe5467414affd20b8bc93d87 +ms.sourcegitcommit: 69229651598b427c550223d3c58aba82e47b3f82 ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/06/2018 -ms.locfileid: "43805456" +ms.lasthandoff: 10/04/2018 +ms.locfileid: "48584207" --- # デリゲート (C# プログラミング ガイド) [デリゲート](../../../csharp/language-reference/keywords/delegate.md)は、特定のパラメーター リストおよび戻り値の型を使用して、メソッドへの参照を表す型です。 デリゲートをインスタンス化するときは、互換性のあるシグネチャと戻り値の型を持つ任意のメソッドにそのインスタンスを関連付けることができます。 メソッドは、デリゲート インスタンスを使用して起動する (呼び出す) ことができます。 @@ -29,7 +29,7 @@ ms.locfileid: "43805456" ## デリゲートの概要 デリゲートには、次の特徴があります。 -- デリゲートは、C++ の関数ポインターに似ていますが、タイプ セーフです。 +- デリゲートは C++ 関数ポインターと似ていますが、デリゲートは完全なオブジェクト指向です。また、メンバー関数への C++ ポインターとは異なり、デリゲートではオブジェクト インスタンスとメソッドの両方をカプセル化します。 - デリゲートを使用すると、メソッドをパラメーターとして渡すことができます。 diff --git a/docs/csharp/programming-guide/events/index.md b/docs/csharp/programming-guide/events/index.md index bf5eaf28f3a..7ffbeae78df 100644 --- a/docs/csharp/programming-guide/events/index.md +++ b/docs/csharp/programming-guide/events/index.md @@ -6,12 +6,12 @@ helpviewer_keywords: - C# language, events - events [C#] ms.assetid: a8e51b22-d294-44fb-9539-0072f06c4cb3 -ms.openlocfilehash: 03c2ffc37bc6c2e820b8e28599f415cde1be9be5 -ms.sourcegitcommit: 2eceb05f1a5bb261291a1f6a91c5153727ac1c19 +ms.openlocfilehash: 4031ff08bee945f019974ad590e9b3df6d9c263c +ms.sourcegitcommit: 2eb5ca4956231c1a0efd34b6a9cab6153a5438af ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/04/2018 -ms.locfileid: "43521958" +ms.lasthandoff: 10/11/2018 +ms.locfileid: "49086233" --- # イベント (C# プログラミング ガイド) [クラス](../../../csharp/language-reference/keywords/class.md) やオブジェクトは、何か重要なことが起こった場合に、イベントを使用して他のクラスまたはオブジェクトに通知を送ります。 イベントを送信する ( *発生させる*) クラスを *パブリッシャー* 、イベントを受信する ( *処理する*) クラスを *サブスクライバー*と呼びます。 @@ -44,8 +44,6 @@ ms.locfileid: "43521958" - [方法: インターフェイス イベントを実装する](../../../csharp/programming-guide/events/how-to-implement-interface-events.md) -- [スレッドの同期](../../../csharp/programming-guide/concepts/threading/thread-synchronization.md) - - [方法: ディクショナリを使用してイベント インスタンスを格納する](../../../csharp/programming-guide/events/how-to-use-a-dictionary-to-store-event-instances.md) - [方法: カスタム イベント アクセサーを実装する](../../../csharp/programming-guide/events/how-to-implement-custom-event-accessors.md) diff --git a/docs/framework/whats-new/index.md b/docs/framework/whats-new/index.md index bf3f07db389..cfa885fa2d5 100644 --- a/docs/framework/whats-new/index.md +++ b/docs/framework/whats-new/index.md @@ -10,25 +10,26 @@ helpviewer_keywords: ms.assetid: 1d971dd7-10fc-4692-8dac-30ca308fc0fa author: rpetrusha ms.author: ronpet -ms.openlocfilehash: d55b571ad313fae75e1f9a96d7a6b681416d8dbd -ms.sourcegitcommit: c7f3e2e9d6ead6cc3acd0d66b10a251d0c66e59d +ms.openlocfilehash: 6ab205ad12b60651443e0fc409e890ea93168ebd +ms.sourcegitcommit: 8c28ab17c26bf08abbd004cc37651985c68841b8 ms.translationtype: HT ms.contentlocale: ja-JP -ms.lasthandoff: 09/08/2018 -ms.locfileid: "44185903" +ms.lasthandoff: 10/07/2018 +ms.locfileid: "48848076" --- -# .NET Framework の新機能 - この記事では、.NET Framework の次のバージョンにおける主な新機能と機能強化の概要を示します。 - -[.NET Framework 4.7.2](#v472) -[.NET Framework 4.7.1](#v471) -[.NET Framework 4.7](#v47) -[.NET Framework 4.6.2](#v462) -[.NET Framework 4.6.1](#v461) -[.NET 2015 と .NET Framework 4.6](#v46) -[.NET Framework 4.5.2](#v452) -[.NET Framework 4.5.1](#v451) -[.NET Framework 4.5](#v45) +# .NET Framework の新機能 + +この記事は、.NET Framework の次のバージョンにおける主な新機能と機能強化の概要を示します。 + +- [.NET Framework 4.7.2](#v472) +- [.NET Framework 4.7.1](#v471) +- [.NET Framework 4.7](#v47) +- [.NET Framework 4.6.2](#v462) +- [.NET Framework 4.6.1](#v461) +- [.NET 2015 と .NET Framework 4.6](#v46) +- [.NET Framework 4.5.2](#v452) +- [.NET Framework 4.5.1](#v451) +- [.NET Framework 4.5](#v45) この記事は、各新機能の包括的な情報を説明するものではありません。また、この内容は変更される可能性があります。 .NET Framework の概要については、「[.NET Framework の概要](../../../docs/framework/get-started/index.md)」をご覧ください。 サポートされているプラットフォームについては、「[.NET Framework システム要件](~/docs/framework/get-started/system-requirements.md)」を参照してください。 ダウンロード リンクとインストール手順については、「[.NET Framework のインストール](../../../docs/framework/install/guide-for-developers.md)」を参照してください。 @@ -42,7 +43,7 @@ ms.locfileid: "44185903" .NET Framework 4.7.2 は、.NET Framework 4.x の以前のバージョンを基に、多数の新しい修正といくつかの新機能を追加したものであり、これまでと同様に非常に安定した製品です。 ### .NET Framework 4.7.2 のダウンロードとインストール - + .NET Framework 4.7.2 は、次の場所からダウンロードできます。 - [.NET Framework 4.7.2 の Web インストーラー](https://go.microsoft.com/fwlink/?LinkId=863262) @@ -51,20 +52,20 @@ ms.locfileid: "44185903" .NET Framework 4.7.2 は、Windows 10、Windows 8.1、Windows 7 SP1、および Windows Server 2008 R2 SP1 以降に相当するサーバー プラットフォームにインストールできます。 .NET Framework 4.7.2 は、Web インストーラーまたはオフライン インストーラーを使用してインストールできます。 ほとんどのユーザーにお勧めする方法は、Web インストーラーの使用です。 -[.NET Framework 4.7.2 Developer Pack](https://go.microsoft.com/fwlink/?LinkId=874338) をインストールすれば、Visual Studio 2012 以降で、.NET Framework 4.7.2 をインストール対象に設定できます。 +[.NET Framework 4.7.2 Developer Pack](https://go.microsoft.com/fwlink/?LinkId=874338) をインストールすれば、Visual Studio 2012 以降で、.NET Framework 4.7.2 をインストール対象に設定できます。 ### .NET Framework 4.7.2 の新機能 .NET Framework 4.7.2 には、次の領域における新機能が含まれています。 -- [コア](#core472) +- [コア](#core-472) - [ASP.NET](#asp-net472) - [ネットワーク](#net472) - [SQL](#sql472) - [WPF](#wpf472) -- [ClickOnce](#ClickOnce472) +- [ClickOnce](#clickonce) -.NET Framework 4.7.2 では引き続きアクセシビリティ機能の向上を重視し、支援技術のユーザーに適切なエクスペリエンスを提供できます。 .NET Framework 4.7.2 のアクセシビリティ機能の改善の詳細については、「[What's new in accessibility in the .NET Framework](whats-new-in-accessibility.md)」 (.NET Framework のアクセシビリティの新機能) を参照してください。 +.NET Framework 4.7.2 では引き続きアクセシビリティ機能の向上を重視し、支援技術のユーザーに適切なエクスペリエンスを提供できます。 .NET Framework 4.7.2 のアクセシビリティ機能の改善の詳細については、「[What's new in accessibility in the .NET Framework](whats-new-in-accessibility.md)」 (.NET Framework のアクセシビリティの新機能) を参照してください。 @@ -83,7 +84,7 @@ using (RSA rsa = RSA.Create()) rsa.ImportParameters(rsaParameters); // Other code to execute using the RSA instance. } -``` +``` ```vb ' Before .NET Framework 4.7.2 @@ -91,7 +92,7 @@ Using rsa = RSA.Create() rsa.ImportParameters(rsaParameters) ' Other code to execute using the rsa instance. End Using -``` +``` 次のようなコードに置き換えます。 ```csharp // Starting with .NET Framework 4.7.2 @@ -99,13 +100,13 @@ using (RSA rsa = RSA.Create(rsaParameters)) { // Other code to execute using the rsa instance. } -``` +``` ```vb ' Starting with .NET Framework 4.7.2 Using rsa = RSA.Create(rsaParameters) ' Other code to execute using the rsa instance. End Using -``` +``` および メソッドでは、特定のキー サイズを指定して、新しい または キーを生成することができます。 例: @@ -114,19 +115,19 @@ using (DSA dsa = DSA.Create(2048)) { // Other code to execute using the dsa instance. } -``` +``` ```vb Using dsa = DSA.Create(2048) ' Other code to execute using the dsa instance. End Using -``` +``` **Rfc2898DeriveBytes コンストラクターは、ハッシュ アルゴリズムの名前を受け入れる** クラスには、3 つの新しいコンストラクターがあり、キーを派生するときに使用する HMAC アルゴリズムを識別する パラメーターを使用します。 SHA-1 を使用する代わりに、開発者は、次の例に示すように SHA-256 などの SHA-2 ベースの HMAC を使用する必要があります。 ```csharp -private static byte[] DeriveKey(string password, out int iterations, out byte[] salt, +private static byte[] DeriveKey(string password, out int iterations, out byte[] salt, out HashAlgorithmName algorithm) { iterations = 100000; @@ -135,16 +136,16 @@ private static byte[] DeriveKey(string password, out int iterations, out byte[] const int SaltSize = 32; const int DerivedValueSize = 32; - using (Rfc2898DeriveBytes pbkdf2 = new Rfc2898DeriveBytes(password, SaltSize, + using (Rfc2898DeriveBytes pbkdf2 = new Rfc2898DeriveBytes(password, SaltSize, iterations, algorithm)) { salt = pbkdf2.Salt; return pbkdf2.GetBytes(DerivedValueSize); } -} +} ``` ```vb -Private Shared Function DeriveKey(password As String, ByRef iterations As Integer, +Private Shared Function DeriveKey(password As String, ByRef iterations As Integer, ByRef salt AS Byte(), ByRef algorithm As HashAlgorithmName) As Byte() iterations = 100000 algorithm = HashAlgorithmName.SHA256 @@ -156,7 +157,7 @@ Private Shared Function DeriveKey(password As String, ByRef iterations As Intege salt = pbkdf2.Salt Return pbkdf2.GetBytes(DerivedValueSize) End Using -End Function +End Function ``` **一時的なキーのサポート** @@ -192,12 +193,12 @@ Dim cStream = New CryptoStream(stream, transform, mode, leaveOpen:=true) **DeflateStream の圧縮解除の変更** -.NET Framework 4.7.2 以降では、 クラスの圧縮解除操作の実装の際に、既定でネイティブの Windows API を使用するように変更されました。 通常は、これによりパフォーマンスが大幅に改善されます。 +.NET Framework 4.7.2 以降では、 クラスの圧縮解除操作の実装の際に、既定でネイティブの Windows API を使用するように変更されました。 通常は、これによりパフォーマンスが大幅に改善されます。 Windows API を使用した圧縮解除のサポートは .NET Framework 4.7.2 を対象とするアプリケーションで既定で有効です。 以前のバージョンの .NET Framework を対象とするアプリケーションが .NET Framework 4.7.2 未満で実行される場合は、次の [AppContext スイッチ](../configure-apps/file-schema/runtime/appcontextswitchoverrides-element.md)をアプリケーション構成ファイルに追加することで、この動作を選択できます。 ```xml - + ``` **追加のコレクション API** @@ -205,14 +206,19 @@ Windows API を使用した圧縮解除のサポートは .NET Framework 4.7.2 .NET Framework 4.7.2 でいくつかの新しい API が および 型に追加されました。 次の設定があります。 - `TryGetValue` メソッドは、他のコレクション型で使用する try パターンを次の 2 つの型に拡張します。 これらのメソッドを以下に示します。 - - [`public bool HashSet.TryGetValue(T equalValue, out T actualValue);](xref:System.Collections.Generic.SortedSet%601.TryGetValue%2A) - - [`public bool SortedSet.TryGetValue(T equalValue, out T actualValue);](xref:System.Collections.Generic.SortedSet%601.TryGetValue%2A) + + - [public bool HashSet.TryGetValue(T equalValue, out T actualValue)](xref:System.Collections.Generic.SortedSet%601.TryGetValue%2A) + - [public bool SortedSet.TryGetValue(T equalValue, out T actualValue)](xref:System.Collections.Generic.SortedSet%601.TryGetValue%2A) + - 拡張メソッドは、コレクションを `Enumerable.To*` に変換します。 - - [public static HashSet ToHashSet(this IEnumerable source);](xref:System.Linq.Enumerable.ToHashSet%2A) - - [public static HashSet ToHashSet(this IEnumerable source, IEqualityComparer comparer);](xref:System.Linq.Enumerable.ToHashSet%2A) + + - [public static HashSet ToHashSet(this IEnumerable source)](xref:System.Linq.Enumerable.ToHashSet%2A) + - [public static HashSet ToHashSet(this IEnumerable source, IEqualityComparer comparer)](xref:System.Linq.Enumerable.ToHashSet%2A) + - 新しい コンストラクターを使用して、 のサイズが事前にわかっている場合に、コレクションの容量を設定できます。 + - [public HashSet(int capacity)](xref:System.Collections.Generic.HashSet%601.%23ctor(System.Int32)) - - [public HashSet(int capacity, IEqualityComparer comparer)](xref:System.Collections.Generic.HashSet%601.%23ctor(System.Int32,System.Collections.Generic.IEqualityComparer%7B%600%7D)) + - [public HashSet(int capacity, IEqualityComparer comparer)](xref:System.Collections.Generic.HashSet%601.%23ctor(System.Int32,System.Collections.Generic.IEqualityComparer%7B%600%7D)) クラスには、 および メソッドの新しいオーバーロードが含まれています、これにより、ディクショナリから値を取得したり、またはそれが見つからない場合にそれを追加したり、値が既に存在する場合に、値をディクショナリに追加するか更新したりすることができます。 @@ -234,18 +240,18 @@ Public GetOrAdd(Of TArg)(key As TKey, valueFactory As Func(Of TKey, TArg, TValue **Web フォームでの依存関係挿入のサポート** -[依存性挿入 (DI)](/aspnet/core/fundamentals/dependency-injection#what-is-dependency-injection) は、オブジェクトとその依存関係を分離し、依存関係の変更だけを理由としてオブジェクトのコードを変更する必要がないようにします。 .NET Framework 4.7.2 を対象とする ASP.NET アプリケーションを開発するときに次のことができます。 +[依存性挿入 (DI)](/aspnet/core/fundamentals/dependency-injection#overview-of-dependency-injection) は、オブジェクトとその依存関係を分離し、依存関係の変更だけを理由としてオブジェクトのコードを変更する必要がないようにします。 .NET Framework 4.7.2 を対象とする ASP.NET アプリケーションを開発するときに次のことができます。 - ASP.NET Web アプリケーション プロジェクトの[ハンドラーとモジュール](https://msdn.microsoft.com/en-us/library/bb398986.aspx)、[ページ インスタンス](xref:System.Web.UI.Page)、および[ユーザー コントロール](https://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx)でアクセス操作子ベース、インターフェイス ベース、およびコンストラクター ベースの挿入を使用します。 - ASP.NET Web サイト プロジェクトの[ハンドラーとモジュール](https://msdn.microsoft.com/en-us/library/bb398986.aspx)、[ページ インスタンス](xref:System.Web.UI.Page)、および[ユーザー コントロール](https://msdn.microsoft.com/en-us/library/y6wb1a0e.aspx)でアクセス操作子ベースおよびインターフェイス ベースの挿入を使用します。 -- 別の依存関係の挿入のフレームワークにプラグインします。 +- 別の依存関係の挿入のフレームワークにプラグインします。 **同じサイトの cookie のサポート** [SameSite](https://tools.ietf.org/html/draft-west-first-party-cookies-07) は、ブラウザーがサイト間の要求と共に cookie を送信するのを防ぎます。 .NET Framework 4.7.2 では、 列挙体のメンバーの値を持つ プロパティが追加されました。 値が または の場合、ASP.NET は `SameSite` 属性を set-cookie ヘッダーに追加します。 SameSite のサポートは、 オブジェクト、および cookie に適用されます。 - + オブジェクトの SameSite を次のように設定できます。 ```csharp @@ -305,7 +311,7 @@ NET Framework 4.7.2 では、エンクレーブ ベースの Always Encrypted - 。エンクレーブ ベースの Always Encrypted の URI を指定します。 -- 。すべてのエンクレーブ プロバイダーの派生元の抽象クラスです。 +- 。すべてのエンクレーブ プロバイダーの派生元の抽象クラスです。 - 。指定されたエンクレーブ セッションの状態をカプセル化します。 @@ -343,7 +349,6 @@ NET Framework 4.7.2 では、エンクレーブ ベースの Always Encrypted .NET Framework 4.7.2 以降、診断アシスタントが、特定のソース URI から作成された を見つけることができます (この機能は、実稼働アプリケーションではなく診断アシスタントによって使用されます)。Visual Studio の "エディット コンティニュ" 機能などの診断アシスタントでは、ユーザーが、実行中のアプリケーションに変更を適用する目的で ResourceDictionary を編集できます。 これを実現するための 1 つの手順は、実行中のアプリケーションが編集されているディクショナリから作成したすべての ResourceDictionaries を見つけることです。 たとえば、アプリケーションは、コンテンツが特定のソース URI からコピーされる ResourceDictionary を宣言できます。 - ```xml ``` @@ -361,7 +366,7 @@ Dim dictionaries As IEnumerable(Of ResourceDictionary) = ResourceDictionaryDiagn **ResourceDictionary 所有者の検索** -.NET Framework 4.7.2 以降、診断アシスタントが、特定の のソースを見つけることができます (この機能は、実稼働アプリケーションではなく診断アシスタントによって使用されます)。 の変更が行われたときに、WPF が、変更の影響を受ける可能性があるすべての [DynamicResource](../wpf/advanced/dynamicresource-markup-extension.md) の参照を自動的に見つけます。 +.NET Framework 4.7.2 以降、診断アシスタントが、特定の のソースを見つけることができます (この機能は、実稼働アプリケーションではなく診断アシスタントによって使用されます)。 の変更が行われたときに、WPF が、変更の影響を受ける可能性があるすべての [DynamicResource](../wpf/advanced/dynamicresource-markup-extension.md) の参照を自動的に見つけます。 Visual Studio の "エディット コンティニュ" 機能などの診断アシスタントが、場合によっては [StaticResource](../wpf/advanced/staticresource-markup-extension.md) 参照を処理するためにこれを拡張する必要があります。 このプロセスの最初の手順は、ディクショナリの所有者を検索することです。つまり、`Resources` プロパティがディクショナリを (直接または プロパティを使用して間接的に) 参照しているすべてのオブジェクトを見つけます。 クラスに実装された 3 つの新しい静的メソッドは、`Resources` プロパティを持つ各基本データ型ごとに 1 つずつあり、次の手順をサポートします。 @@ -375,13 +380,14 @@ Visual Studio の "エディット コンティニュ" 機能などの診断ア **StaticResource 参照の検索** -診断アシスタントは、[StaticResource](../wpf/advanced/staticresource-markup-extension.md) 参照が解決されるたびに通知を受け取ることができるようになりました (この機能は、実稼働アプリケーションではなく診断アシスタントによって使用されます)。Visual Studio の "エディット コンティニュ" 機能などの診断アシスタントは、場合によっては の値が変更されたときにリソースのすべての使用を更新する必要があります。 WPF は、[DynamicResource](../wpf/advanced/dynamicresource-markup-extension.md) 参照に関してこれを自動的に実行しますが、[StaticResource](../wpf/advanced/staticresource-markup-extension.md) 参照に関しては意図的に実行しません。 .NET Framework 4.7.2 以降、診断アシスタントは、静的リソースのそれらの使用を検索するのにこれらの通知を使用できます。 +診断アシスタントは、[StaticResource](../wpf/advanced/staticresource-markup-extension.md) 参照が解決されるたびに通知を受け取ることができるようになりました (この機能は、実稼働アプリケーションではなく診断アシスタントによって使用されます)。Visual Studio の "エディット コンティニュ" 機能などの診断アシスタントは、場合によっては の値が変更されたときにリソースのすべての使用を更新する必要があります。 WPF は、[DynamicResource](../wpf/advanced/dynamicresource-markup-extension.md) 参照に関してこれを自動的に実行しますが、[StaticResource](../wpf/advanced/staticresource-markup-extension.md) 参照に関しては意図的に実行しません。 .NET Framework 4.7.2 以降、診断アシスタントは、静的リソースのそれらの使用を検索するのにこれらの通知を使用できます。 通知は、新しい イベントによって実装されます。 ```csharp public static event EventHandler StaticResourceResolved; ``` + ```vb Public Shared Event StaticResourceResolved As EventHandler(Of StaticResourceResolvedEventArgs) ``` @@ -403,8 +409,6 @@ public class StaticResourceResolvedEventArgs : EventArgs が有効になっていて [`ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO`](xref:System.Windows.Diagnostics.VisualDiagnostics.GetXamlSourceInfo%2A) 環境変数が設定されていない限り、イベントを発生しません (その `add` アクセサーは無視されます)。 - - #### ClickOnce ClickOnce を使用して、Windows フォームの HDPI 対応アプリケーション、Windows Presentation Foundation (WPF)、および Visual Studio Tools for Office (VSTO) のすべてを配置できます。 次のエントリがアプリケーション マニフェストに見つかった場合、.NET Framework 4.7.2 で展開が成功します。 @@ -422,13 +426,13 @@ Windows フォーム アプリケーションの場合、DPI 認識をアプリ ## .NET Framework 4.7.1 の新機能 .NET Framework 4.7.1 には、次の領域における新機能が含まれています。 - + - [コア](#core471) - [共通言語ランタイム (CLR)](#clr) - [ネットワーク](#net471) -- [ASP.NET](#asp-net471) +- [ASP.NET](#asp-net471) -さらに、.NET Framework 4.7.1 ではアクセシビリティ機能が向上し、支援技術のユーザーに適切なエクスペリエンスを提供できます。 .NET Framework 4.7.1 のアクセシビリティ機能の改善の詳細については、「[What's new in accessibility in the .NET Framework](whats-new-in-accessibility.md)」 (.NET Framework のアクセシビリティの新機能) を参照してください。 +さらに、.NET Framework 4.7.1 ではアクセシビリティ機能が向上し、支援技術のユーザーに適切なエクスペリエンスを提供できます。 .NET Framework 4.7.1 のアクセシビリティ機能の改善の詳細については、「[What's new in accessibility in the .NET Framework](whats-new-in-accessibility.md)」 (.NET Framework のアクセシビリティの新機能) を参照してください。 @@ -442,7 +446,7 @@ Windows フォーム アプリケーションの場合、DPI 認識をアプリ 構成ビルダーを使用して、開発者が、実行時にアプリケーションの構成設定を動的に注入およびビルドすることができます。 カスタム構成ビルダーを使用して、構成セクションの既存のデータを変更したり、最初から完全に構成セクション全体をビルドしたりすることができます。 構成ビルダーを使用しない場合は、構成ファイルは静的であり、それらの設定はアプリケーションが起動されるしばらく前に定義されます。 -カスタム構成ビルダーを作成するには、抽象 クラスからビルダーを派生させ、その をオーバーライドします。 また、.config ファイルでもビルダーを定義します。 詳細については、「[.NET Framework 4.7.1 ASP.NET and Configuration Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/13/net-framework-4-7-1-asp-net-and-configuration-features) 」(.NET Framework 4.7.1 ASP.NET と構成機能) ブログ投稿の「Configuration Builders」(構成ビルダー) セクションを参照してください。 +カスタム構成ビルダーを作成するには、抽象 クラスからビルダーを派生させ、その をオーバーライドします。 また、.config ファイルでもビルダーを定義します。 詳細については、「[.NET Framework 4.7.1 ASP.NET and Configuration Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/13/net-framework-4-7-1-asp-net-and-configuration-features) 」(.NET Framework 4.7.1 ASP.NET と構成機能) ブログ投稿の「Configuration Builders」(構成ビルダー) セクションを参照してください。 **実行時の機能の検出** @@ -462,7 +466,7 @@ Windows フォーム アプリケーションの場合、DPI 認識をアプリ **ガベージ コレクションのパフォーマンス改善** -.NET Framework 4.7.1 のガベージ コレクション (GC) への変更は、特に大きなオブジェクト ヒープ (LOH) の割り当ての場合の全体的なパフォーマンスを向上させます。 .NET Framework 4.7.1 では、小さなオブジェクト ヒープ (SOH) と LOH の割り当てに個別のロックを使用します。これにより、バックグラウンドの GC (BGC) が SOH をスイープするときに LOH の割り当てが許可されます。 その結果、多数の LOH の割り当てを行うアプリケーションでは、割り当てのロックの競合が減少し、パフォーマンスが向上します。 詳細については、「[.NET Framework 4.7.1 Runtime and Compiler Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/28/net-framework-4-7-1-runtime-and-compiler-features/)」(.NET Framework 4.7.1 ランタイムとコンパイラの機能) ブログ投稿の「Runtime -- GC Performance Improvements」(ランタイム - GC のパフォーマンスの向上) セクションを参照してください。 +.NET Framework 4.7.1 のガベージ コレクション (GC) への変更は、特に大きなオブジェクト ヒープ (LOH) の割り当ての場合の全体的なパフォーマンスを向上させます。 .NET Framework 4.7.1 では、小さなオブジェクト ヒープ (SOH) と LOH の割り当てに個別のロックを使用します。これにより、バックグラウンドの GC (BGC) が SOH をスイープするときに LOH の割り当てが許可されます。 その結果、多数の LOH の割り当てを行うアプリケーションでは、割り当てのロックの競合が減少し、パフォーマンスが向上します。 詳細については、「[.NET Framework 4.7.1 Runtime and Compiler Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/28/net-framework-4-7-1-runtime-and-compiler-features/)」(.NET Framework 4.7.1 ランタイムとコンパイラの機能) ブログ投稿の「Runtime -- GC Performance Improvements」(ランタイム - GC のパフォーマンスの向上) セクションを参照してください。 @@ -478,11 +482,11 @@ Windows フォーム アプリケーションの場合、DPI 認識をアプリ **ASP.NET アプリケーションの実行ステップ** -ASP.NET は、23 のイベントを含む定義済みのパイプラインで要求を処理します。 ASP.NET は、実行ステップとして、各イベント ハンドラーを実行します。 バージョンの .NET Framework 4.7 までの ASP.NET のバージョンでは、ASP.NET は、ネイティブ スレッドとマネージド スレッドの切り替えのために、実行コンテキストをフローすることはできません。 代わりに、ASP.NET は、 のみを選択的にフローします。 .NET Framework 4.7.1 以降、 メソッドでは、モジュールがアンビエント データを復元することもできます。 この機能は、アプリケーションの実行フローを考慮する、トレース、プロファイリング、診断、トランザクションなどに関連するライブラリを対象とします。 詳細については、「[.NET Framework 4.7.1 ASP.NET and Configuration Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/13/net-framework-4-7-1-asp-net-and-configuration-features) 」(.NET Framework 4.7.1 ASP.NET と構成機能) ブログ投稿の「ASP.NET Execution Step Feature」(ASP.NET 実行ステップの機能) を参照してください。 +ASP.NET は、23 のイベントを含む定義済みのパイプラインで要求を処理します。 ASP.NET は、実行ステップとして、各イベント ハンドラーを実行します。 バージョンの .NET Framework 4.7 までの ASP.NET のバージョンでは、ASP.NET は、ネイティブ スレッドとマネージド スレッドの切り替えのために、実行コンテキストをフローすることはできません。 代わりに、ASP.NET は、 のみを選択的にフローします。 .NET Framework 4.7.1 以降、 メソッドでは、モジュールがアンビエント データを復元することもできます。 この機能は、アプリケーションの実行フローを考慮する、トレース、プロファイリング、診断、トランザクションなどに関連するライブラリを対象とします。 詳細については、「[.NET Framework 4.7.1 ASP.NET and Configuration Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/13/net-framework-4-7-1-asp-net-and-configuration-features) 」(.NET Framework 4.7.1 ASP.NET と構成機能) ブログ投稿の「ASP.NET Execution Step Feature」(ASP.NET 実行ステップの機能) を参照してください。 **ASP.NET HttpCookie 解析** -.NET Framework 4.7.1 には、新しいメソッド が含まれています。これは、文字列から オブジェクトを作成し、有効期限日やパスなどの cookie の値を正確に割り当てるための標準化された方法を提供します。 詳細については、「[.NET Framework 4.7.1 ASP.NET and Configuration Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/13/net-framework-4-7-1-asp-net-and-configuration-features) 」(.NET Framework 4.7.1 ASP.NET と構成機能) ブログ投稿の「ASP.NET HttpCookie parsing」(ASP.NET HttpCookie の解析) を参照してください。 +.NET Framework 4.7.1 には、新しいメソッド が含まれています。これは、文字列から オブジェクトを作成し、有効期限日やパスなどの cookie の値を正確に割り当てるための標準化された方法を提供します。 詳細については、「[.NET Framework 4.7.1 ASP.NET and Configuration Features](https://blogs.msdn.microsoft.com/dotnet/2017/09/13/net-framework-4-7-1-asp-net-and-configuration-features) 」(.NET Framework 4.7.1 ASP.NET と構成機能) ブログ投稿の「ASP.NET HttpCookie parsing」(ASP.NET HttpCookie の解析) を参照してください。 **ASP.NET フォーム認証資格情報の SHA-2 ハッシュ オプション** @@ -554,7 +558,7 @@ GitHub で [.NET Framework 4.7 の暗号化の向上の例](https://gist.github. .NET Framework 4.7 以降では、ASP.NET で追加された新しい API セットを使うことで、開発者は、メモリ内オブジェクト キャッシュとメモリ監視に関する既定の ASP.NET の実装を置き換えることができます。 ASP.NET の実装が適切ではない場合、次の 3 つのコンポーネントを置き換えることができるようになりました。 - **オブジェクト キャッシュ ストア**。 新しいキャッシュ プロバイダー構成セクションを使うことで、開発者は、新しい **ICacheStoreProvider** インターフェイスを使って、ASP.NET アプリケーション用のオブジェクト キャッシュの新しい実装をプラグインできます。 - + - **メモリ監視**。 ASP.NET の既定のメモリ モニターは、アプリケーションがプロセスに構成されているプライベート バイト制限に近づくと、またはコンピューターの使用可能な合計物理 RAM が低下すると、アプリケーションに通知します。 これらの制限に近づくと、通知が発生します。 一部のアプリケーションでは、通知の発生が構成されている制限に近すぎるため、有効な対応を取れません。 開発者は、 プロパティを使用して既定値を置き換える独自のメモリ モニターを作成できるようになりました。 - **メモリ制限への対応**。 既定では、プライベート バイト プロセス制限が近づくと、ASP.NET はオブジェクト キャッシュの削減を試み、 を定期的に呼び出します。 アプリケーションによっては、 の呼び出し頻度またはトリミングされるキャッシュ量が非効率になります。 開発者は、アプリケーションのメモリ モニターに **IObserver** の実装をサブスクライブすることにより、既定の動作を置換または補完できます。 @@ -571,7 +575,7 @@ Windows Communication Foundation (WCF) では以下の機能が追加または ```xml - + ``` @@ -608,7 +612,7 @@ Windows Ink Services Platform (WISP) の代わりに [WM_POINTER メッセージ **WPF 印刷 API の新しい実装** - クラスの WPF 印刷 API は、非推奨になった [XPS 印刷 API](https://msdn.microsoft.com/library/windows/desktop/ff686814(v=vs.85).aspx) ではなく Windows [ドキュメント印刷パッケージ API](https://msdn.microsoft.com/library/windows/desktop/hh448418(v=vs.85).aspx) を呼び出します。 アプリケーションの互換性に対するこの変更の影響については、「[.NET Framework 4.7 における再ターゲットの変更点](../migration-guide/retargeting-changes-in-the-net-framework-4-7.md)」をご覧ください。 + クラスの WPF 印刷 API は、非推奨になった [XPS 印刷 API](https://msdn.microsoft.com/library/windows/desktop/ff686814(v=vs.85).aspx) ではなく Windows [ドキュメント印刷パッケージ API](https://msdn.microsoft.com/library/windows/desktop/hh448418(v=vs.85).aspx) を呼び出します。 アプリケーションの互換性に対するこの変更の影響については、「[.NET Framework 4.7 における再ターゲットの変更点](../migration-guide/retargeting-changes-in-the-net-framework-4-7.md)」をご覧ください。 @@ -630,7 +634,7 @@ Windows Ink Services Platform (WISP) の代わりに [WM_POINTER メッセージ - [Windows Workflow Foundation (WF)](#WF462) -- [ClickOnce](#ClickOnce) +- [ClickOnce](#clickonce-1) - [Windows フォームおよび WPF アプリの UWP アプリへの変換](#UWPConvert) @@ -639,12 +643,14 @@ Windows Ink Services Platform (WISP) の代わりに [WM_POINTER メッセージ .NET Framework 4.6.2 に追加された新しい API の一覧については、GitHub で [.NET Framework 4.6.2 API の変更点](https://github.com/Microsoft/dotnet/blob/master/releases/net462/dotnet462-api-changes.md)に関するページを参照してください。 .NET Framework 4.6.2 における機能の改善とバグ修正の一覧については、GitHub で「[.NET Framework 4.6.2 List of Changes (.NET Framework 4.6.2 API の変更点の一覧)](https://go.microsoft.com/fwlink/?LinkId=708778)」を参照してください。 詳細については、.NET Blog の「[Announcing .NET Framework 4.6.2](https://blogs.msdn.microsoft.com/dotnet/2016/08/02/announcing-net-framework-4-6-2/)」(.NET Framework 4.6.2 の発表) を参照してください。 + ### ASP.NET - [!INCLUDE[net_v462](../../../includes/net-v462-md.md)] では、ASP.NET の機能が次のように強化されています。 - **データ注釈検証コントロールのローカライズされたエラー メッセージのサポート強化** +[!INCLUDE[net_v462](../../../includes/net-v462-md.md)] では、ASP.NET の機能が次のように強化されています。 + +**データ注釈検証コントロールのローカライズされたエラー メッセージのサポート強化** - データ注釈検証コントロールを使用して、1 つ以上の属性をクラス プロパティに追加して検証を行うことができます。 属性の 要素は、検証が失敗した場合にエラー メッセージのテキストを定義します。 [!INCLUDE[net_v462](../../../includes/net-v462-md.md)] 以降では、ASP.NET でエラー メッセージを簡単にローカライズできます。 エラー メッセージは次のような場合にローカライズされます。 +データ注釈検証コントロールを使用して、1 つ以上の属性をクラス プロパティに追加して検証を行うことができます。 属性の 要素は、検証が失敗した場合にエラー メッセージのテキストを定義します。 [!INCLUDE[net_v462](../../../includes/net-v462-md.md)] 以降では、ASP.NET でエラー メッセージを簡単にローカライズできます。 エラー メッセージは次のような場合にローカライズされます。 1. が検証属性で指定されている。 @@ -654,7 +660,7 @@ Windows Ink Services Platform (WISP) の代わりに [WM_POINTER メッセージ 4. リソースのキー名が 属性に割り当てられている文字列で、その値がローカライズされたエラー メッセージである。 - たとえば、次のデータ注釈属性では、無効な評価の場合に表示する、既定のカルチャのエラー メッセージを定義します。 +たとえば、次のデータ注釈属性では、無効な評価の場合に表示する、既定のカルチャのエラー メッセージを定義します。 ```csharp public class RatingInfo @@ -673,7 +679,7 @@ Public Class RatingInfo End Class ``` - キーがエラー メッセージ文字列であり、その値がローカライズされたエラー メッセージであるようにリソース ファイル DataAnnotation.Localization.fr.resx を作成します。 ファイルは `App.LocalResources` フォルダーになければいけません。 たとえば下記は、キーとその値で、値はローカライズされたフランス語 (fr) のエラー メッセージです。 +キーがエラー メッセージ文字列であり、その値がローカライズされたエラー メッセージであるようにリソース ファイル DataAnnotation.Localization.fr.resx を作成します。 ファイルは `App.LocalResources` フォルダーになければいけません。 たとえば下記は、キーとその値で、値はローカライズされたフランス語 (fr) のエラー メッセージです。 | name | [値] | | ------------------------------------ | ----------------------------------------- | @@ -747,7 +753,7 @@ public static byte[] SignDataDsaSha384(byte[] data, X509Certificate2 cert) } ``` -```vb +```vb Public Shared Function SignDataDsaSha384(data As Byte(), cert As X509Certificate2) As Byte() Using DSA As DSA = cert.GetDSAPrivateKey() Return DSA.SignData(data, HashAlgorithmName.SHA384) @@ -755,7 +761,7 @@ Public Shared Function SignDataDsaSha384(data As Byte(), cert As X509Certificate End Function ``` - 署名データを検証する場合は、以下の例のように、 拡張メソッドを呼び出すことができます。 +署名データを検証する場合は、以下の例のように、 拡張メソッドを呼び出すことができます。 ```csharp public static bool VerifyDataDsaSha384(byte[] data, byte[] signature, X509Certificate2 cert) @@ -814,7 +820,7 @@ public static byte[] EncryptDataWithPersistedKey(byte[] data, byte[] iv) } ``` -```vb +```vb Public Shared Function EncryptDataWithPersistedKey(data As Byte(), iv As Byte()) As Byte() Using Aes As Aes = New AesCng("AesDemoKey", CngProvider.MicrosoftSoftwareKeyStorageProvider) Aes.IV = iv @@ -861,7 +867,9 @@ End Function 新しい `PoolBlockingPeriod` キーワードを追加することで、使用しているアプリに最適なブロック期間を選択できます。 次の値が含まれます。 - `Auto` Azure SQL Database に接続しているアプリケーションの接続プールのブロック期間は無効になり、他のすべての SQL Server インスタンスに接続しているアプリケーションの接続プールのブロック期間が有効になります。 これが既定値です。 サーバー エンドポイント名の末尾が以下のいずれかである場合は、Azure SQL Database と見なされます。 +`Auto` + +Azure SQL Database に接続しているアプリケーションの接続プールのブロック期間は無効になり、他のすべての SQL Server インスタンスに接続しているアプリケーションの接続プールのブロック期間が有効になります。 これが既定値です。 サーバー エンドポイント名の末尾が以下のいずれかである場合は、Azure SQL Database と見なされます。 - .database.windows.net @@ -871,9 +879,13 @@ End Function - .database.cloudapi.de - `AlwaysBlock` 接続プールのブロック期間は常に有効になります。 +`AlwaysBlock` - `NeverBlock` 接続プールのブロック期間は常に無効になります。 +接続プールのブロック期間は常に有効になります。 + +`NeverBlock` + +接続プールのブロック期間は常に無効になります。 **Always Encrypted の強化** @@ -933,7 +945,7 @@ AppContext.SetSwitch(disableCngCertificates, False) たとえば、クライアントが `net.pipe://localhost/Service1` でリッスンしているサービスに接続しようとしているときに、管理者特権で実行しているコンピューター上の別のサービスが `net.pipe://localhost` でリッスンしているとします。 このアプリ設定が `false` に設定されている場合、クライアントは間違ったサービスに接続しようとします。 アプリ設定を `true` に設定すれば、クライアントは常に最も一致するサービスに接続するようになります。 > [!NOTE] -> を使用するクライアントは、完全なエンドポイント アドレスではなく、サービスのベース アドレス (存在する場合) に基づいてサービスを検索します。 この設定が常に機能するようにするには、サービスは一意のベース アドレスを使用する必要があります。 +> を使用するクライアントは、完全なエンドポイント アドレスではなく、サービスのベース アドレス (存在する場合) に基づいてサービスを検索します。 この設定が常に機能するようにするには、サービスは一意のベース アドレスを使用する必要があります。 この変更を有効にするには、以下のアプリ設定をクライアント アプリケーションの App.config ファイルまたは Web.config ファイルに追加します。 @@ -974,9 +986,9 @@ AppContext.SetSwitch(disableCngCertificates, False) ```xaml - @@ -1035,10 +1047,10 @@ AppContext.SetSwitch(disableCngCertificates, False) - フローチャート アクティビティ デザイナーまたは他のワークフロー アクティビティ デザイナーで、アタッチされるプロパティの値ではなく既定の場所にすべてのオブジェクトが表示される場合がある。 - ### ClickOnce - ClickOnce が更新され、既にサポートされている 1.0 プロトコルに加え、TLS 1.1 と TLS 1.2 がサポートがサポートされるようになりました。 ClickOnce が必要なプロトコルを自動的に検出するため、TLS 1.1 と 1.2 のサポートを有効にするために、ClickOnce アプリケーション内での追加の手順は不要です。 + +ClickOnce が更新され、既にサポートされている 1.0 プロトコルに加え、TLS 1.1 と TLS 1.2 がサポートがサポートされるようになりました。 ClickOnce が必要なプロトコルを自動的に検出するため、TLS 1.1 と 1.2 のサポートを有効にするために、ClickOnce アプリケーション内での追加の手順は不要です。 @@ -1059,7 +1071,8 @@ AppContext.SetSwitch(disableCngCertificates, False) ## .NET Framework 4.6.1 の新機能 - [!INCLUDE[net_v461](../../../includes/net-v461-md.md)] には、次の領域における新機能が含まれています。 + +[!INCLUDE[net_v461](../../../includes/net-v461-md.md)] には、次の領域における新機能が含まれています。 - [暗号](#Crypto) @@ -1073,7 +1086,7 @@ AppContext.SetSwitch(disableCngCertificates, False) - [NGen](#NGEN461) - [!INCLUDE[net_v461](../../../includes/net-v461-md.md)] の詳細については、次のトピックを参照してください。 +[!INCLUDE[net_v461](../../../includes/net-v461-md.md)] の詳細については、次のトピックを参照してください。 - [.NET Framework 4.6.1 の変更の一覧](https://go.microsoft.com/fwlink/?LinkId=622964) @@ -1110,7 +1123,7 @@ AppContext.SetSwitch(disableCngCertificates, False) HSM に格納された列マスター キーで保護された Always Encrypted データにアクセスするには、HSM ベンダー提供の CSP プロバイダーまたは CNG キー ストア プロバイダーをアプリ サーバーまたはクライアント コンピューターにインストールする必要があります。 **AlwaysOn に対する の接続動作の向上** - + SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続が自動的に提供されるようになりました。 SqlClient では、アプリケーションが別のサブネット上の AlwaysOn 可用性グループ (AG) に接続しているかどうかを自動的に検出し、現在のアクティブなサーバーを迅速に探索し、そのサーバーへの接続を提供します。 このリリースよりも前は、アプリケーションで接続文字列を設定し、`"MultisubnetFailover=true"` を含め、AlwaysOn 可用性グループに接続されていることを示す必要がありました。 `true` への接続キーワードを設定しないと、アプリケーションで AlwaysOn 可用性グループに接続中にタイムアウトが発生する可能性がありました。 このリリースを使用すれば、アプリケーションで を `true` に設定する必要が*なくなり*ます。 Always On 可用性グループの SqlClient サポートの詳細については、「[高可用性障害復旧のための SqlClient サポート](../../../docs/framework/data/adonet/sql/sqlclient-support-for-high-availability-disaster-recovery.md)」をご覧ください。 @@ -1151,7 +1164,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 - これらのファイルは読み取り専用と見なされ、システムによって変更されることはありません。 > [!NOTE] -> これらの新しいファイル形式は、WPF スペル チェック API で直接サポートされるわけではありません。また、アプリケーションで WPF に提供されるユーザー辞書では以前と同様に .lex ファイルを使用する必要があります。 +> これらの新しいファイル形式は、WPF スペル チェック API で直接サポートされるわけではありません。また、アプリケーションで WPF に提供されるユーザー辞書では以前と同様に .lex ファイルを使用する必要があります。 **サンプル** @@ -1181,11 +1194,16 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ### プロファイル - アンマネージ プロファイル API が、次のように拡張されました。 - [ICorProfilerInfo7](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-interface.md) インターフェイス内の PDB へのアクセスのサポートが向上 ASP.NET 5 では、アセンブリがメモリ内で Roslyn によってコンパイルされることがよりいっそう一般的になっています。 プロファイル ツールを作成する開発者にとって、これは従来ディスクにシリアル化されていた PDB が存在しなくなる可能性があることを意味しています。 プロファイル ツールでは、多くの場合 PDB を使用して、コード カバレッジや 1 行単位のパフォーマンス分析などのタスクのソース行に、コードをマップし戻します。 [ICorProfilerInfo7](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-interface.md) インターフェイスは、メモリ内の PDB データにアクセスして、これらのプロファイル ツールを提供する 2 つの新しいメソッド、[ICorProfilerInfo7::GetInMemorySymbolsLength](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-getinmemorysymbolslength-method.md) と [ICorProfilerInfo7::ReadInMemorySymbols](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-readinmemorysymbols.md) を含むようになりました。これらの新しい API を使用すれば、プロファイラーでメモリ内の PDB の内容をバイト配列として取得してから、それを処理したり、ディスクにシリアル化したりできます。 +アンマネージド プロファイリング API が、次のように拡張されました。 - ICorProfiler インターフェイスを使用したインストルメンテーションの改良 動的インストルメンテーションに `ICorProfiler` API の ReJit 機能を使用しているプロファイラーで、いくつかのメタデータを変更できるようになりました。 従来、このようなツールでは、いつでも IL をインストルメント化できましたが、メタデータを変更できるのはモジュールを読み込む時だけでした。 IL はメタデータを参照するため、実行できるインストルメンテーションの種類が限られています。 モジュールの読み込み後のメタデータの編集のサブセットをサポートするために、[ICorProfilerInfo7::ApplyMetaData](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-applymetadata-method.md) メソッドを追加することで (特に新しい `AssemblyRef`、`TypeRef`、`TypeSpec`、`MemberRef`、`MemberSpec`、および `UserString` の各レコードを追加することで)、これらの制限の一部を解消しました。 この変更により、はるかに広範な実行時インストルメンテーションが可能になります。 +- [ICorProfilerInfo7](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-interface.md) インターフェイス内の PDB へのアクセスのサポートが向上。 + + ASP.NET Core では、アセンブリがメモリ内で Roslyn によってコンパイルされることがよりいっそう一般的になっています。 プロファイル ツールを作成する開発者にとって、これは従来ディスクにシリアル化されていた PDB が存在しなくなる可能性があることを意味しています。 プロファイル ツールでは、多くの場合 PDB を使用して、コード カバレッジや 1 行単位のパフォーマンス分析などのタスクのソース行に、コードをマップし戻します。 [ICorProfilerInfo7](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-interface.md) インターフェイスは、メモリ内の PDB データにアクセスして、これらのプロファイル ツールを提供する 2 つの新しいメソッド、[ICorProfilerInfo7::GetInMemorySymbolsLength](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-getinmemorysymbolslength-method.md) と [ICorProfilerInfo7::ReadInMemorySymbols](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-readinmemorysymbols.md) を含むようになりました。これらの新しい API を使用すれば、プロファイラーでメモリ内の PDB の内容をバイト配列として取得してから、それを処理したり、ディスクにシリアル化したりできます。 + +- ICorProfiler インターフェイスを使用したインストルメンテーションの改善。 + + 動的インストルメンテーションに `ICorProfiler` API の ReJit 機能を使用しているプロファイラーで、いくつかのメタデータを変更できるようになりました。 従来、このようなツールでは、いつでも IL をインストルメント化できましたが、メタデータを変更できるのはモジュールを読み込む時だけでした。 IL はメタデータを参照するため、実行できるインストルメンテーションの種類が限られています。 モジュールの読み込み後のメタデータの編集のサブセットをサポートするために、[ICorProfilerInfo7::ApplyMetaData](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo7-applymetadata-method.md) メソッドを追加することで (特に新しい `AssemblyRef`、`TypeRef`、`TypeSpec`、`MemberRef`、`MemberSpec`、および `UserString` の各レコードを追加することで)、これらの制限の一部を解消しました。 この変更により、はるかに広範な実行時インストルメンテーションが可能になります。 @@ -1199,13 +1217,13 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ## .NET 2015 の新機能 .NET 2015 では、[!INCLUDE[net_v46](../../../includes/net-v46-md.md)] と .NET Core が導入されています。 一部の新機能はその両方に適用され、その他の機能は [!INCLUDE[net_v46](../../../includes/net-v46-md.md)] または [!INCLUDE[net_core](../../../includes/net-core-md.md)] に固有です。 -- **ASP.NET 5** +- **ASP.NET Core** - .NET 2015 には、ASP.NET 5 が含まれています。これは、最新のクラウド ベースのアプリを構築するのに非常に効率の良い .NET 実装です。 ASP.NET 5 はモジュール形式であるため、アプリケーションで必要な機能のみを含めることができます。 IIS でホストすることも、カスタムのプロセスでセルフホストすることもできます。さらに同じサーバー上のさまざまなバージョンの .NET Framework でアプリを実行することも可能です。 クラウド展開用に設計されている新たな環境構成システムが含まれています。 + .NET 2015 には、ASP.NET Core が含まれています。これは、最新のクラウド ベースのアプリを構築するのに効率的な .NET 実装です。 ASP.NET Core はモジュール形式であるため、ご利用のアプリケーションで必要な機能のみを含めることができます。 IIS でホストすることも、カスタムのプロセスでセルフホストすることもできます。さらに同じサーバー上のさまざまなバージョンの .NET Framework でアプリを実行することも可能です。 クラウド展開用に設計されている新たな環境構成システムが含まれています。 - MVC、Web API、および Web ページは、MVC 6 と呼ばれる 1 つのフレームワークに統合されています。 Visual Studio 2015 の新しいツールで ASP.NET 5 アプリをビルドします。 既存のアプリケーションは、この新しい .NET Framework で動作しますが、MVC 6 または SignalR 3 を使用するアプリケーションをビルドするには Visual Studio 2015 のプロジェクト システムを使用する必要があります。 + MVC、Web API、および Web ページは、MVC 6 と呼ばれる 1 つのフレームワークに統合されています。 Visual Studio 2015 以降のツールで ASP.NET Core アプリをビルドします。 既存のアプリケーションは、この新しい .NET Framework で動作しますが、MVC 6 または SignalR 3 を使用するアプリをビルドするには Visual Studio 2015 以降のプロジェクト システムを使用する必要があります。 - 詳細については、[ASP.NET 5](https://go.microsoft.com/fwlink/?LinkId=518238) に関するページを参照してください。 + 詳細については、[ASP.NET Core](http://go.microsoft.com/fwlink/?LinkId=518238) に関するページを参照してください。 - **ASP.NET の更新プログラム** @@ -1213,7 +1231,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ASP.NET で、非同期応答フラッシュ用の単純なタスク ベース API である が提供されるようになりました。これにより、言語の `async/await` サポートを使用して非同期的に応答をフラッシュできます。 - - `Model binding supports task-returning methods` + - **モデル バインドによるタスクを返すメソッドのサポート** [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] では、Web フォーム ページやユーザー コントロールでの CRUD ベースのデータ操作に対して拡張可能なコード中心のアプローチを可能にするモデル バインド機能が ASP.NET に追加されました。 このモデル バインド システムで、 を返すモデル バインド メソッドがサポートされるようになりました。 この機能により、Web フォーム開発者は Entity Framework などの ORM の新しいバージョンを使用するときに、データ バインド システムのように簡単に非同期のスケーラビリティ上のメリットを得ることができます。 @@ -1236,7 +1254,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ASP.NET アプリケーションで [PUSH_PROMISE](http://http2.github.io/http2-spec/#PUSH_PROMISE) 機能を使用する手段を提供するために、 の 2 つのオーバーロードを持つ新しいメソッドが クラスに追加されました。 > [!NOTE] - > ASP.NET 5 では HTTP/2 がサポートされましたが、PUSH PROMISE 機能のサポートはまだ追加されていません。 + > ASP.NET Core では HTTP/2 がサポートされますが、PUSH PROMISE 機能のサポートはまだ追加されていません。 ブラウザーと web サーバー (Windows 上の IIS) がすべての処理を実行します。 ユーザーの側で複雑な操作を実行する必要はありません。 @@ -1343,16 +1361,16 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ライブラリは、コンシューマーがスイッチの値を宣言したことを確認してから、それを適切に実行する必要があります。 ```csharp - if (!AppContext.TryGetSwitch("Switch.AmazingLib.ThrowOnException", out shouldThrow)) + if (!AppContext.TryGetSwitch("Switch.AmazingLib.ThrowOnException", out shouldThrow)) { - // This is the case where the switch value was not set by the application. - // The library can choose to get the value of shouldThrow by other means. - // If no overrides nor default values are specified, the value should be 'false'. + // This is the case where the switch value was not set by the application. + // The library can choose to get the value of shouldThrow by other means. + // If no overrides nor default values are specified, the value should be 'false'. // A false value implies the latest behavior. } // The library can use the value of shouldThrow to throw exceptions or not. - if (shouldThrow) + if (shouldThrow) { // old code } @@ -1474,7 +1492,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 既定値は 60 秒です。 `value` を 0 に設定すると、順序不定の要求はただちに拒否され、次のようなテキストを含むエラーが返されます。 ``` - Operation 'Request3|{http://tempuri.org/}IService' on service instance with identifier '2b0667b6-09c8-4093-9d02-f6c67d534292' cannot be performed at this time. Please ensure that the operations are performed in the correct order and that the binding in use provides ordered delivery guarantees. + Operation 'Request3|{http://tempuri.org/}IService' on service instance with identifier '2b0667b6-09c8-4093-9d02-f6c67d534292' cannot be performed at this time. Please ensure that the operations are performed in the correct order and that the binding in use provides ordered delivery guarantees. ``` これは、順序不定の操作メッセージを受信し、非プロトコル ブックマークが存在しない場合に受信するメッセージと同じです。 @@ -1486,7 +1504,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 から派生した例外がスローされる原因となったトランザクションに、分散トランザクション識別子を含めることができるようになりました。 これを行うには、次のキーを app.config ファイルの `appSettings` セクションに追加します。 ```xml - + ``` 既定値は `false` です。 @@ -1495,9 +1513,9 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 - **ソケットの再利用** - Windows 10 には、送信 TCP 接続のローカル ポートを再利用してコンピューターのリソースを効率的に使用する新しいスケーラビリティの高いネットワーク アルゴリズムが含まれています。 .NET Framework 4.6 では、この新しいアルゴリズムがサポートされ、.NET アプリで新しい動作を利用できます。 以前のバージョンの Windows では、人工的な同時接続の制限 (通常は動的なポート範囲の既定のサイズである 16,384) があったため、負荷がかかったときにポートが使い尽くされ、サービスのスケーラビリティが制限されることがありました。 + Windows 10 には、送信 TCP 接続のローカル ポートを再利用してコンピューターのリソースを効率的に使用する新しいスケーラビリティの高いネットワーク アルゴリズムが含まれています。 .NET Framework 4.6 では、この新しいアルゴリズムがサポートされ、.NET アプリで新しい動作を利用できます。 以前のバージョンの Windows では、人工的なコンカレント接続の制限 (通常は動的なポート範囲の既定のサイズである 16,384) があったため、負荷がかかったときにポートが使い尽くされ、サービスのスケーラビリティが制限されることがありました。 - [!INCLUDE[net_v46](../../../includes/net-v46-md.md)] では、ポートの再利用を有効にする次の 2 つの新しい API が追加され、同時接続に対する 64K の制限が実質的になくなりました。 + [!INCLUDE[net_v46](../../../includes/net-v46-md.md)] では、ポートの再利用を有効にする次の 2 つの新しい API が追加され、コンカレント接続に対する 64K の制限が実質的になくなりました。 - 列挙型値。 @@ -1531,7 +1549,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 [!INCLUDE[net_core](../../../includes/net-core-md.md)] をターゲットとし、c# または Visual Basic で作成されている Windows 10 用の Windows アプリは、IL ではなくネイティブ コードにアプリをコンパイルする新しい技術を活用できます。 これで、起動時間と実行時間がより速いアプリを生成できます。 詳しくは、「[.NET ネイティブによるアプリのコンパイル](../../../docs/framework/net-native/index.md)」をご覧ください。 JIT コンパイルと NGEN による結果の違い、およびコードにおけるその影響の概要については、「[.NET ネイティブとコンパイル](../../../docs/framework/net-native/net-native-and-compilation.md)」をご覧ください。 - アプリは、Visual Studio 2015 でコンパイルするときに、既定でネイティブ コードにコンパイルされます。 詳しくは、「[.NET ネイティブの概要](../../../docs/framework/net-native/getting-started-with-net-native.md)」をご覧ください。 + ご利用のアプリは、Visual Studio 2015 以降でコンパイルするときに、既定でネイティブ コードにコンパイルされます。 詳しくは、「[.NET ネイティブの概要](../../../docs/framework/net-native/getting-started-with-net-native.md)」をご覧ください。 .NET ネイティブ アプリのデバッグをサポートするため、アンマネージ デバッグ APIに対して数多くの新しいインターフェイスと列挙型が追加されました。 詳しくは、「[デバッグ (アンマネージ API リファレンス)](../../../docs/framework/unmanaged-api/debugging/index.md)」をご覧ください。 @@ -1553,11 +1571,12 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 - **Windows フォーム コントロールでのサイズ変更** この機能が拡張されました。 これにより、システム DPI 設定を使用して、次の追加コントロールのコンポーネント (例: コンボ ボックスのドロップダウン矢印) をサイズ変更できます。 - - - - - + - + - + - + - + - + - これはオプトイン機能です。 この機能を有効にするには、アプリケーション構成 (app.config) ファイルで `EnableWindowsFormsHighDpiAutoResizing` 要素を `true` に設定します。 @@ -1577,13 +1596,23 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 - **プロファイリングの機能強化。** 次の新しいアンマネージ プロファイリング API により、さらに信頼性の高いプロファイリングを提供します。 - [COR_PRF_ASSEMBLY_REFERENCE_INFO 構造体](../../../docs/framework/unmanaged-api/profiling/cor-prf-assembly-reference-info-structure.md) [COR_PRF_HIGH_MONITOR 列挙型](../../../docs/framework/unmanaged-api/profiling/cor-prf-high-monitor-enumeration.md) [GetAssemblyReferences メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilercallback6-getassemblyreferences-method.md) [GetEventMask2 メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo5-geteventmask2-method.md) [SetEventMask2 メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo5-seteventmask2-method.md) [AddAssemblyReference メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilerassemblyreferenceprovider-addassemblyreference-method.md) + - [COR_PRF_ASSEMBLY_REFERENCE_INFO 構造体](../../../docs/framework/unmanaged-api/profiling/cor-prf-assembly-reference-info-structure.md) + - [COR_PRF_HIGH_MONITOR 列挙型](../../../docs/framework/unmanaged-api/profiling/cor-prf-high-monitor-enumeration.md) + - [GetAssemblyReferences メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilercallback6-getassemblyreferences-method.md) + - [GetEventMask2 メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo5-geteventmask2-method.md) + - [SetEventMask2 メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilerinfo5-seteventmask2-method.md) + - [AddAssemblyReference メソッド](../../../docs/framework/unmanaged-api/profiling/icorprofilerassemblyreferenceprovider-addassemblyreference-method.md) 以前の `ICorProfiler` の実装は、依存アセンブリの遅延読み込みをサポートしていました。 新しいプロファイリング API では、プロファイラーにより挿入される依存アセンブリを、アプリの完全な初期化後に読み込むのではなく、すぐに読み込む必要があります。 この変更は、既存の `ICorProfiler` API のユーザーには影響しません。 - **デバッグの機能強化。** 次の新しいアンマネージド デバッグ API により、プロファイラーとの統合性が向上しました。 これにより、ダンプのデバッグ時にコンパイラ ReJIT 要求により作成されたローカル変数やコードだけでなく、プロファイラーにより挿入されたメタデータにアクセスできます。 - [SetWriteableMetadataUpdateMode メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugprocess7-setwriteablemetadataupdatemode-method.md) [EnumerateLocalVariablesEx メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md) [GetLocalVariableEx メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md) [GetCodeEx メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md) [GetActiveReJitRequestILCode メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md) [GetInstrumentedILMap メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilcode2-getinstrumentedilmap-method.md) + - [SetWriteableMetadataUpdateMode メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugprocess7-setwriteablemetadataupdatemode-method.md) + - [EnumerateLocalVariablesEx メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilframe4-enumeratelocalvariablesex-method.md) + - [GetLocalVariableEx メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilframe4-getlocalvariableex-method.md) + - [GetCodeEx メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilframe4-getcodeex-method.md) + - [GetActiveReJitRequestILCode メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugfunction3-getactiverejitrequestilcode-method.md) + - [GetInstrumentedILMap メソッド](../../../docs/framework/unmanaged-api/debugging/icordebugilcode2-getinstrumentedilmap-method.md) - **イベント トレーシングの変更。** .NET Framework 4.5.2 では、より大きなサーフェイス領域において、アウトプロセスの Windows イベント トレーシング (ETW) に基づくアクティビティ トレーシングができるようになりました。 これにより、アドバンスト パワー マネージメント (APM) ベンダーは、スレッドを越えた個々の要求とアクティビティのコストを正確に追跡する軽量ツールを提供できます。 これらのイベントは、ETW コントローラーで有効にされた場合にのみ発生します。したがって、変更は以前に記述された ETW コードや ETW が無効な状態で実行されるコードには影響しません。 @@ -1626,7 +1655,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 .NET Framework 4.5.1 のコア機能の新機能と機能強化には次が含まれます。 -- アセンブリの自動バインディング リダイレクト。 [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] 以降では、アプリまたはそのコンポーネントが同じアセンブリの複数バージョンを参照している場合、[!INCLUDE[net_v451](../../../includes/net-v451-md.md)] を対象とするアプリのコンパイル時に、バインディング リダイレクトをアプリ構成ファイルに追加できます。 また、.NET Framework の以前のバージョンを対象とするプロジェクトで、この機能を有効にすることもできます。 詳しくは、「[方法: 自動バインディング リダイレクトを有効/無効にする](../../../docs/framework/configure-apps/how-to-enable-and-disable-automatic-binding-redirection.md)」をご覧ください。 +- アセンブリの自動バインディング リダイレクト。 Visual Studio 2013 以降では、アプリまたはそのコンポーネントが同じアセンブリの複数バージョンを参照している場合、[!INCLUDE[net_v451](../../../includes/net-v451-md.md)] を対象とするアプリのコンパイル時に、バインディング リダイレクトをアプリ構成ファイルに追加できます。 また、.NET Framework の以前のバージョンを対象とするプロジェクトで、この機能を有効にすることもできます。 詳しくは、「[方法: 自動バインディング リダイレクトを有効/無効にする](../../../docs/framework/configure-apps/how-to-enable-and-disable-automatic-binding-redirection.md)」をご覧ください。 - 開発者がサーバーおよびクラウド アプリケーションのパフォーマンスを向上するために役立つ診断情報を収集する機能。 詳細については、 クラスの メソッドと メソッドを参照してください。 @@ -1638,8 +1667,9 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 - Windows フォーム コントロールでのサイズ変更。 アプリのアプリケーション構成ファイル (app.config) 内のエントリで有効にすることにより、システム DIP 設定を使用してコントロールのコンポーネント (例: プロパティ グリッドに表示されるアイコン) をサイズ変更できます。 現在、この機能は次の Windows フォーム コントロールでサポートされています。 - - の一部 (サポートされている追加コントロールについては、「[4.5.2 の新機能](#v452)」を参照してください) + - + - + - の一部 (サポートされている追加コントロールについては、「[4.5.2 の新機能](#v452)」を参照してください) この機能を有効にするには、構成ファイル (app.config) に新しい \ 要素を追加し、`EnableWindowsFormsHighDpiAutoResizing` 要素を `true` に設定します。 @@ -1649,19 +1679,19 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ``` - [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] で .NET Framework アプリをデバッグするときの改善点は次のとおりです。 + Visual Studio 2013 で .NET Framework アプリをデバッグするときの改善点は次のとおりです。 -- Visual Studio デバッガーの戻り値。 [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] でマネージド アプリをデバッグする場合、メソッドの戻り値の型と値が [自動変数] ウィンドウに表示されます。 デスクトップ アプリ、Windows ストア アプリ、Windows Phone アプリについて、この情報を使用できます。 詳細については、MSDN ライブラリの「[メソッド呼び出しの戻り値の調査](https://msdn.microsoft.com/library/e3245b37-8e2e-4200-ba84-133726e95f1f\(v=vs.120\).aspx)」を参照してください。 +- Visual Studio デバッガーの戻り値。 Visual Studio 2013 でマネージド アプリをデバッグする場合、メソッドの戻り値の型と値が [自動変数] ウィンドウに表示されます。 デスクトップ アプリ、Windows ストア アプリ、Windows Phone アプリについて、この情報を使用できます。 詳細については、MSDN ライブラリの「[メソッド呼び出しの戻り値の調査](https://msdn.microsoft.com/library/e3245b37-8e2e-4200-ba84-133726e95f1f\(v=vs.120\).aspx)」を参照してください。 -- 64 ビット アプリのエディット コンティニュ。 [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] では、デスクトップ、Windows ストア、Windows Phone 用の 64 ビット マネージド アプリについて、エディット コンティニュ機能がサポートされています。 既存の制限は、32 ビット アプリと 64 ビット アプリの両方でまだ有効です (「[Supported Code Changes (C#)](/visualstudio/debugger/supported-code-changes-csharp)」(サポートされているコードの変更 (C#)) の記事の最後のセクションを参照してください)。 +- 64 ビット アプリのエディット コンティニュ。 Visual Studio 2013 では、デスクトップ、Windows ストア、Windows Phone 用の 64 ビット マネージド アプリについて、エディット コンティニュ機能がサポートされています。 既存の制限は、32 ビット アプリと 64 ビット アプリの両方でまだ有効です (「[Supported Code Changes (C#)](/visualstudio/debugger/supported-code-changes-csharp)」(サポートされているコードの変更 (C#)) の記事の最後のセクションを参照してください)。 -- 非同期対応のデバッグ。 [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] で非同期アプリを簡単にデバッグするために、呼び出し履歴には、非同期プログラミングをサポートするためにコンパイラに用意されているインフラストラクチャ コード、および論理上の親フレーム内のチェーンが表示されません。これにより、論理的なプログラムの実行をよりわかりやすく行うことができます。 [タスク] ウィンドウが [並列タスク] ウィンドウに代わって使用され、特定のブレークポイントに関連するタスクが表示されます。また、現在アクティブなタスクやアプリでスケジュールされているタスクなども表示されます。 この機能については、「[.NET Framework 4.5.1 announcement](https://blogs.msdn.microsoft.com/dotnet/2013/06/26/announcing-the-net-framework-4-5-1-preview/)」(.NET Framework 4.5.1 についてのお知らせ) の「Async-aware debugging」(非同期対応のデバッグ) セクションを参照してください。 +- 非同期対応のデバッグ。 Visual Studio 2013 で非同期アプリを簡単にデバッグするために、呼び出し履歴には、非同期プログラミングをサポートするためにコンパイラに用意されているインフラストラクチャ コード、および論理上の親フレーム内のチェーンが表示されません。これにより、論理的なプログラムの実行をよりわかりやすく行うことができます。 [タスク] ウィンドウが [並列タスク] ウィンドウに代わって使用され、特定のブレークポイントに関連するタスクが表示されます。また、現在アクティブなタスクやアプリでスケジュールされているタスクなども表示されます。 この機能については、「[.NET Framework 4.5.1 announcement](https://blogs.msdn.microsoft.com/dotnet/2013/06/26/announcing-the-net-framework-4-5-1-preview/)」(.NET Framework 4.5.1 についてのお知らせ) の「Async-aware debugging」(非同期対応のデバッグ) セクションを参照してください。 -- Windows ランタイム コンポーネント向けのより適切な例外処理のサポート。 [!INCLUDE[win81](../../../includes/win81-md.md)] では、言語の種類に関係なく、Windows ストア アプリから発生する例外には、例外を発生させたエラーに関する情報が保持されます。 この機能については、「[.NET Framework 4.5.1 announcement](https://blogs.msdn.microsoft.com/dotnet/2013/06/26/announcing-the-net-framework-4-5-1-preview/)」(.NET Framework 4.5.1 についてのお知らせ) の「Windows Store app development」(Windows ストア アプリ開発) のセクションを参照してください。 +- Windows ランタイム コンポーネント向けのより適切な例外処理のサポート。 [!INCLUDE[win81](../../../includes/win81-md.md)] では、言語の種類に関係なく、Windows ストア アプリから発生する例外には、例外を発生させたエラーに関する情報が保持されます。 この機能については、「[.NET Framework 4.5.1 announcement](https://blogs.msdn.microsoft.com/dotnet/2013/06/26/announcing-the-net-framework-4-5-1-preview/)」(.NET Framework 4.5.1 についてのお知らせ) の「Windows Store app development」(Windows ストア アプリ開発) のセクションを参照してください。 - [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] 以降では、[Mpgo.exe (マネージド プロファイル ガイド付き最適化ツール)](../../../docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md) を使用して、[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] アプリとデスクトップ アプリを最適化することができます。 + Visual Studio 2013 以降では、[Mpgo.exe (マネージド プロファイル ガイド付き最適化ツール)](../../../docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md) を使って、[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] アプリとデスクトップ アプリを最適化することができます。 - ASP.NET 4.5.1 の新機能については、ASP.NET サイトの「[ASP.NET 4.5.1 and Visual Studio 2013](https://go.microsoft.com/fwlink/?LinkID=309094)」(ASP.NET 4.5.1 および Visual Studio 2013) を参照してください。 + ASP.NET 4.5.1 の新機能については、「[ASP.NET and Web Tools for Visual Studio 2013 のリリース ノート](/aspnet/visual-studio/overview/2013/release-notes)」を参照してください。 [ページのトップへ](#introduction) @@ -1722,7 +1752,7 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ### ツール [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] では、リソース ファイル ジェネレーター (Resgen.exe) を使用すると、.NET Framework アセンブリに埋め込まれた .resources ファイルから [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] アプリ用の .resw ファイルを作成することができます。 詳しくは、「[Resgen.exe (リソース ファイル ジェネレーター)](../../../docs/framework/tools/resgen-exe-resource-file-generator.md)」をご覧ください。 - マネージド プロファイル ガイド付き最適化ツール (Mpgo.exe) を使用すると、ネイティブ イメージ アセンブリを最適化することによって、アプリケーションの起動時間、メモリの使用率 (ワーキング セットのサイズ)、およびスループットを向上させることができます。 このコマンド ライン ツールは、ネイティブ イメージ アプリケーション アセンブリ用のプロファイル データを生成します。 「[Mpgo.exe (マネージド プロファイル ガイド付き最適化ツール)](../../../docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md)」をご覧ください。 [!INCLUDE[vs_dev12](../../../includes/vs-dev12-md.md)] 以降では、[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] アプリおよびデスクトップ アプリを最適化するために、Mpgo.exe を使用できます。 + マネージド プロファイル ガイド付き最適化ツール (Mpgo.exe) を使用すると、ネイティブ イメージ アセンブリを最適化することによって、アプリケーションの起動時間、メモリの使用率 (ワーキング セットのサイズ)、およびスループットを向上させることができます。 このコマンド ライン ツールは、ネイティブ イメージ アプリケーション アセンブリ用のプロファイル データを生成します。 「[Mpgo.exe (マネージド プロファイル ガイド付き最適化ツール)](../../../docs/framework/tools/mpgo-exe-managed-profile-guided-optimization-tool.md)」をご覧ください。 Visual Studio 2013 以降では、[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] アプリおよびデスクトップ アプリを最適化するために、Mpgo.exe を使うことができます。 @@ -1732,20 +1762,20 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 ### Web - ASP.NET 4.5 および 4.5.1 では、Web フォーム モデルのバインディング、WebSocket のサポート、非同期ハンドラー、パフォーマンスの向上などの多くの機能が追加されています。 詳細については、次のリソースを参照してください。 -- MSDN ライブラリの「[ASP.NET 4.5 および Visual Studio 2012](https://msdn.microsoft.com/library/ac9bb7f6-f094-4af7-bad0-acf49a5dbc55)」。 +ASP.NET 4.5 および 4.5.1 では、Web フォーム モデルのバインディング、WebSocket のサポート、非同期ハンドラー、パフォーマンスの向上などの多くの機能が追加されています。 詳細については、次のリソースを参照してください。 -- ASP.NET のサイトの [ASP.NET 4.5.1 および Visual Studio 2013](https://go.microsoft.com/fwlink/?LinkID=309094)に関するページ。 +- [ASP.NET 4.5 と Visual Studio 2012](https://msdn.microsoft.com/library/hh420390(v=vs.110).aspx) - +- [Visual Studio 2013 の ASP.NET と Web ツールのリリース ノート](/aspnet/visual-studio/overview/2013/release-notes) -### ネットワーキング - [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] は、HTTP アプリケーションに新しいプログラミング インターフェイスを提供します。 詳細については、新しい 名前空間と 名前空間を参照してください。 +### ネットワーク - 既存の と関連クラスを使用して WebSocket 接続を受け入れ、やり取りするための新しいプログラミング インターフェイスのサポートも含まれています。 詳細については、新しい 名前空間と クラスを参照してください。 +[!INCLUDE[net_v45](../../../includes/net-v45-md.md)] は、HTTP アプリケーションに新しいプログラミング インターフェイスを提供します。 詳細については、新しい 名前空間と 名前空間を参照してください。 - また [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] には、次のネットワークの機能強化が含まれています。 +既存の と関連クラスを使用して WebSocket 接続を受け入れ、やり取りするための新しいプログラミング インターフェイスのサポートも含まれています。 詳細については、新しい 名前空間と クラスを参照してください。 + +また [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] には、次のネットワークの機能強化が含まれています。 - RFC 準拠の URI サポート。 詳細については、 および関連クラスを参照してください。 @@ -1875,16 +1905,19 @@ SqlClient で、AlwaysOn 可用性グループ (AG) へのより高速な接続 詳細については、「[.NET 4.5 での Windows Workflow Foundation の新機能](https://go.microsoft.com/fwlink/?LinkId=228176)」を参照してください。 + ### [!INCLUDE[net_win8_profile](../../../includes/net-win8-profile-md.md)] - [!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] のアプリは、特定のフォーム ファクターに合わせて設計されており、Windows オペレーティング システムの機能を利用します。 C# または Visual Basic を使用して Windows 用の [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] アプリをビルドするために、[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] または 4.5.1 のサブセットを使用できます。 このサブセットは [!INCLUDE[net_win8_profile](../../../includes/net-win8-profile-md.md)] と呼ばれ、Windows デベロッパー センターの[概要](https://go.microsoft.com/fwlink/?LinkId=228491)のページで説明されています。 - - -### ポータブル クラス ライブラリ - [!INCLUDE[vs_dev11_long](../../../includes/vs-dev11-long-md.md)] (および以降のバージョン) のポータブル クラス ライブラリ プロジェクトを使用すると、複数の .NET Framework プラットフォームで動作するマネージド アセンブリを作成してビルドできます。 ポータブル クラス ライブラリ プロジェクトを使用して、対象とするプラットフォーム (Windows Phone や [!INCLUDE[net_win8_profile](../../../includes/net-win8-profile-md.md)]など) を選択します。 プロジェクトで使用できる型およびメンバーは、自動的にこれらのプラットフォーム間で共通の型とメンバーに制限されます。 詳細については、[ポータブル クラス ライブラリ](../../../docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md)に関するページを参照してください。 - -## 参照 - [.NET Framework および OOB リリース](../../../docs/framework/get-started/the-net-framework-and-out-of-band-releases.md) - [.NET Framework のアクセシビリティの新機能](whats-new-in-accessibility.md) - [Visual Studio 2017 の新機能 ](/visualstudio/ide/whats-new-in-visual-studio) - [ASP.NET](/aspnet) - [Visual C++ の新機能](/cpp/what-s-new-for-visual-cpp-in-visual-studio) + +[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] のアプリは、特定のフォーム ファクターに合わせて設計されており、Windows オペレーティング システムの機能を利用します。 C# または Visual Basic を使用して Windows 用の [!INCLUDE[net_v45](../../../includes/net-v45-md.md)] アプリをビルドするために、[!INCLUDE[win8_appname_long](../../../includes/win8-appname-long-md.md)] または 4.5.1 のサブセットを使用できます。 このサブセットは [!INCLUDE[net_win8_profile](../../../includes/net-win8-profile-md.md)] と呼ばれ、Windows デベロッパー センターの[概要](https://go.microsoft.com/fwlink/?LinkId=228491)のページで説明されています。 + +### ポータブル クラス ライブラリ + +Visual Studio 2012 (および以降のバージョン) のポータブル クラス ライブラリ プロジェクトを使うと、複数の .NET Framework プラットフォームで動作するマネージド アセンブリを作成してビルドできます。 ポータブル クラス ライブラリ プロジェクトを使用して、対象とするプラットフォーム (Windows Phone や [!INCLUDE[net_win8_profile](../../../includes/net-win8-profile-md.md)]など) を選択します。 プロジェクトで使用できる型およびメンバーは、自動的にこれらのプラットフォーム間で共通の型とメンバーに制限されます。 詳細については、[ポータブル クラス ライブラリ](../../../docs/standard/cross-platform/cross-platform-development-with-the-portable-class-library.md)に関するページを参照してください。 + +## 関連項目 + +- [NET Framework および特別なリリース](../../../docs/framework/get-started/the-net-framework-and-out-of-band-releases.md) +- [.NET Framework のアクセシビリティの新機能](whats-new-in-accessibility.md) +- [Visual Studio 2017 の新機能](/visualstudio/ide/whats-new-in-visual-studio) +- [ASP.NET](/aspnet) +- [Visual C++ の新機能](/cpp/what-s-new-for-visual-cpp-in-visual-studio) diff --git a/docs/standard/generics/index.md b/docs/standard/generics/index.md index 9598066de19..a0dd554c0ee 100644 --- a/docs/standard/generics/index.md +++ b/docs/standard/generics/index.md @@ -1,39 +1,39 @@ --- -title: .NET のジェネリック -ms.date: 03/30/2017 -ms.technology: dotnet-standard -dev_langs: -- csharp -- vb -- cpp -helpviewer_keywords: -- generic methods, type inference -- generics [.NET Framework], collections -- generic interfaces [.NET Framework] -- constructed generic types -- nested generic types -- generic type definitions -- generic classes [.NET Framework] -- generics [.NET Framework], interfaces -- generics [.NET Framework], about -- generics [.NET Framework] -- generic collections [.NET Framework] -- generic delegates [.NET Framework] -- generic type arguments -- generics [.NET Framework], delegates -- generics [.NET Framework], features -- constraints [.NET Framework] -- generic types -- generic type parameters -ms.assetid: 2994d786-c5c7-4666-ab23-4c83129fe39c -author: mairaw -ms.author: mairaw -ms.openlocfilehash: 5e5aea783640a2aa2c9f4fa7754b9a3a435d1f13 -ms.sourcegitcommit: 3d5d33f384eeba41b2dff79d096f47ccc8d8f03d -ms.translationtype: HT -ms.contentlocale: ja-JP -ms.lasthandoff: 05/04/2018 -ms.locfileid: "33579068" +title: .NET のジェネリック +ms.date: 03/30/2017 +ms.technology: dotnet-standard +dev_langs: +- csharp +- vb +- cpp +helpviewer_keywords: +- generic methods, type inference +- generics [.NET Framework], collections +- generic interfaces [.NET Framework] +- constructed generic types +- nested generic types +- generic type definitions +- generic classes [.NET Framework] +- generics [.NET Framework], interfaces +- generics [.NET Framework], about +- generics [.NET Framework] +- generic collections [.NET Framework] +- generic delegates [.NET Framework] +- generic type arguments +- generics [.NET Framework], delegates +- generics [.NET Framework], features +- constraints [.NET Framework] +- generic types +- generic type parameters +ms.assetid: 2994d786-c5c7-4666-ab23-4c83129fe39c +author: mairaw +ms.author: mairaw +ms.openlocfilehash: 104a0018896eb95255cf4054f9402ce5160b95f7 +ms.sourcegitcommit: 69229651598b427c550223d3c58aba82e47b3f82 +ms.translationtype: HT +ms.contentlocale: ja-JP +ms.lasthandoff: 10/04/2018 +ms.locfileid: "48584144" --- # .NET のジェネリック @@ -115,7 +115,7 @@ ms.locfileid: "33579068" - 汎用デリゲートによって、複数のデリゲート クラスを作成せずにタイプ セーフなコールバックを使用できます。 たとえば、 汎用デリゲートを使用すると、特定の型を対象とした独自の検索条件を実装するメソッドを作成し、 などの 型のメソッドと共に自分のメソッドを使用することができます。 -- ジェネリックによって、動的に生成されるコードが簡略化されます。 動的に生成されるコードでジェネリックを使用する場合、型を生成する必要がありません。 これにより、アセンブリ全体を生成する代わりに軽量の動的メソッドを使用できるシナリオの数が増えます。 詳細については、「方法: 動的メソッドを定義および実行する」および DynamicMethod を参照してください。 +- ジェネリックによって、動的に生成されるコードが簡略化されます。 動的に生成されるコードでジェネリックを使用する場合、型を生成する必要がありません。 これにより、アセンブリ全体を生成する代わりに軽量の動的メソッドを使用できるシナリオの数が増えます。 詳細については、「[How to: Define and Execute Dynamic Methods](../../../docs/framework/reflection-and-codedom/how-to-define-and-execute-dynamic-methods.md)」 (方法: 動的メソッドを定義および実行する) および 「」 を参照してください。 ジェネリックの制限事項を次に示します。