.NET Framework'teki yeniliklerWhat's new in the .NET Framework

Bu makalede, anahtar yeni özellikler ve geliştirmeler .NET Framework'ün aşağıdaki sürümlerinde özetlenmektedir:This article summarizes key new features and improvements in the following versions of the .NET Framework:

.NET framework 4.7.2 .NET Framework 4.7.2
.NET framework 4.7.1 .NET Framework 4.7.1
.NET framework 4.7 .NET Framework 4.7
.NET framework 4.6.2 .NET Framework 4.6.2
.NET framework 4.6.1 .NET Framework 4.6.1
.NET 2015 ve .NET Framework 4.6 .NET 2015 and .NET Framework 4.6
.NET framework 4.5.2 .NET Framework 4.5.2
.NET framework 4.5.1 .NET Framework 4.5.1
.NET framework 4.5.NET Framework 4.5

Bu makale, her yeni özellik hakkında kapsamlı bilgi sağlamaz ve değiştirilebilir.This article does not provide comprehensive information about each new feature and is subject to change. .NET Framework hakkında genel bilgi için bkz: Başlarken.For general information about the .NET Framework, see Getting Started. Desteklenen platformlar için bkz: sistem gereksinimleri.For supported platforms, see System Requirements. Yükleme bağlantıları ve yükleme yönergeleri için bkz: Yükleme Kılavuzu.For download links and installation instructions, see Installation Guide.

Not

.NET Framework takım platform desteği'ni genişletin ve değişmez koleksiyonlar ve SIMD etkin vektör türleri gibi yeni işlevsellik tanıtmak için NuGet ile bant dışı özellikler de serbest bırakır.The .NET Framework team also releases features out of band with NuGet to expand platform support and to introduce new functionality, such as immutable collections and SIMD-enabled vector types. Daha fazla bilgi için bkz: ek sınıf kitaplıkları ve API'leri ve .NET Framework ve bant dışı sürümler.For more information, see Additional Class Libraries and APIs and The .NET Framework and Out-of-Band Releases. Bkz: bir NuGet paketlerini tam listesi .NET Framework veya abone olmak bizim akış.See a complete list of NuGet packages for the .NET Framework, or subscribe to our feed.

.NET Framework 4.7.2 TanıtımıIntroducing the .NET Framework 4.7.2

.NET Framework'ün önceki sürümlerinde .NET Framework 4.7.2 derlemeler çok kararlı bir ürün kalan sırasında birçok yeni düzeltmeler ve çeşitli yeni özellikler ekleyerek 4.x.The .NET Framework 4.7.2 builds on previous versions of the .NET Framework 4.x by adding many new fixes and several new features while remaining a very stable product.

.NET Framework 4.7.2 yükleyipDownloading and installing the .NET Framework 4.7.2

.NET Framework 4.7.2 aşağıdaki konumlardan yükleyebilirsiniz:You can download the .NET Framework 4.7.2 from the following locations:

.NET Framework 4.7.2 Windows 10, Windows 8.1, Windows 7 SP1 ve Windows Server 2008 R2 SP1 ile başlayarak karşılık gelen sunucu platformları yüklenebilir.The .NET Framework 4.7.2 can be installed on Windows 10, Windows 8.1, Windows 7 SP1, and the corresponding server platforms starting with Windows Server 2008 R2 SP1. .NET Framework 4.7.2 web yükleyicisi veya çevrimdışı yükleyici kullanarak yükleyebilirsiniz.You can install the .NET Framework 4.7.2 by using either the web installer or the offline installer. Çoğu kullanıcı için önerilen yol, web yükleyicisi kullanmaktır.The recommended way for most users is to use the web installer.

.NET Framework 4.7.2 Visual Studio 2012'de veya yükleyerek daha sonra hedef 4.7.2 .NET Framework Geliştirici paketi.You can target the .NET Framework 4.7.2 in Visual Studio 2012 or later by installing the .NET Framework 4.7.2 Developer Pack.

.NET Framework 4.7.2 yeniliklerWhat's new in the .NET Framework 4.7.2

.NET Framework 4.7.2 aşağıdaki alanlarda yeni özellikler içerir:The .NET Framework 4.7.2 includes new features in the following areas:

.NET Framework 4.7.2 devam ediliyor odakta yardımcı teknoloji kullanıcılar için uygun bir deneyim sağlamak üzere bir uygulamanın sağlayan iyileştirilmiş Erişilebilirlik ' dir.A continuing focus in the .NET Framework 4.7.2 is improved accessibility, which allows an application to provide an appropriate experience for users of Assistive Technology. .NET Framework'teki 4.7.2 erişilebilirlik geliştirme hakkında daha fazla bilgi için bkz: erişilebilirlik .NET Framework'teki yenilikler.For information on accessibility improvement in the .NET Framework 4.7.2, see What's new in accessibility in the .NET Framework.

ÇekirdekCore

.NET Framework 4.7.2 çok sayıda şifreleme geliştirmelerinden, ZIP arşivini ve ek koleksiyon API'leri daha iyi sıkıştırmayı desteği sunar.The .NET Framework 4.7.2 features a large number of cryptographic enhancements, better decompression support for ZIP archives, and additional collection APIs.

RSA yeni aşırı. Oluşturma ve DSA. OluşturmaNew overloads of RSA.Create and DSA.Create

DSA.Create(DSAParameters) Ve RSA.Create(RSAParameters) yöntemleri sağlayan yeni bir örneği anahtar parametreleri sağlamanıza DSA veya RSA anahtarı.The DSA.Create(DSAParameters) and RSA.Create(RSAParameters) methods let you supply key parameters when instantiated a new DSA or RSA key. Kod aşağıdaki gibi değiştirin olanak sağlar:They allow you to replace code like the following:

// Before .NET Framework 4.7.2
using (RSA rsa = RSA.Create())
{
   rsa.ImportParameters(rsaParameters);
   // Other code to execute using the RSA instance.
}
' Before .NET Framework 4.7.2
Using rsa = RSA.Create()
   rsa.ImportParameters(rsaParameters)
   ' Other code to execute using the rsa instance.
End Using

koduyla şuna benzer:with code like this:

// Starting with .NET Framework 4.7.2
using (RSA rsa = RSA.Create(rsaParameters))
{
   // Other code to execute using the rsa instance.
}
' Starting with .NET Framework 4.7.2
Using rsa = RSA.Create(rsaParameters)
   ' Other code to execute using the rsa instance.
End Using

DSA.Create(Int32) Ve RSA.Create(Int32) yöntemleri yeni oluşturmanıza izin DSA veya RSA anahtarlarını belirli bir anahtar boyutuna sahip.The DSA.Create(Int32) and RSA.Create(Int32) methods let you generate new DSA or RSA keys with a specific key size. Örneğin:For example:

using (DSA dsa = DSA.Create(2048))
{
   // Other code to execute using the dsa instance.
}
Using dsa = DSA.Create(2048)
   ' Other code to execute using the dsa instance.
End Using

Rfc2898DeriveBytes oluşturucular bir karma algoritması adı kabul edinRfc2898DeriveBytes constructors accept a hash algorithm name

Rfc2898DeriveBytes Sınıfına sahip üç yeni oluşturucularla bir HashAlgorithmName anahtarları türetilirken kullanmak için HMAC algoritması tanımlayan parametresi.The Rfc2898DeriveBytes class has three new constructors with a HashAlgorithmName parameter that identifies the HMAC algorithm to use when deriving keys. SHA-1 kullanmak yerine, geliştiricilerin gibi SHA-256, SHA-2 tabanlı bir HMAC aşağıdaki örnekte gösterildiği gibi kullanmanız gerekir:Instead of using SHA-1, developers should use a SHA-2-based HMAC like SHA-256, as shown in the following example:

private static byte[] DeriveKey(string password, out int iterations, out byte[] salt, 
                                out HashAlgorithmName algorithm)
{
   iterations = 100000;
   algorithm = HashAlgorithmName.SHA256;

   const int SaltSize = 32;
   const int DerivedValueSize = 32;

   using (Rfc2898DeriveBytes pbkdf2 = new Rfc2898DeriveBytes(password, SaltSize, 
                                                             iterations, algorithm))
   {
      salt = pbkdf2.Salt;
      return pbkdf2.GetBytes(DerivedValueSize);
   }
} 
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

   Const SaltSize As Integer = 32
   Const  DerivedValueSize As Integer = 32

   Using pbkdf2 = New Rfc2898DeriveBytes(password, SaltSize, iterations, algorithm)
      salt = pbkdf2.Salt
      Return pbkdf2.GetBytes(DerivedValueSize)
   End Using
End Function 

Kısa ömürlü anahtarları desteğiSupport for ephemeral keys

PFX alma, sabit sürücü atlayarak bellekten doğrudan özel anahtarları isteğe bağlı olarak yükleyebilir.PFX import can optionally load private keys directly from memory, bypassing the hard drive. Zaman yeni X509KeyStorageFlags.EphemeralKeySet bayrağı belirtilen bir X509Certificate2 Oluşturucusu veya aşırı biri X509Certificate2.Import yöntemi, özel anahtarların kısa ömürlü anahtarları olarak yüklenecektir.When the new X509KeyStorageFlags.EphemeralKeySet flag is specified in an X509Certificate2 constructor or one of the overloads of the X509Certificate2.Import method, the private keys will be loaded as ephemeral keys. Bu, anahtarları diskte görünür olmasını engeller.This prevents the keys from being visible on the disk. Ancak:However:

  • Bu bayrak anahtarları diske ile yüklenen sertifikaların kalıcı değildir bu yana bir X509Store eklemek için iyi bir aday değildir.Since the keys are not persisted to disk, certificates loaded with this flag are not good candidates to add to an X509Store.

  • Bu şekilde yüklenen anahtarları neredeyse her zaman Windows CNG yüklenir.Keys loaded in this manner are almost always loaded via Windows CNG. Bu nedenle, arayanlar özel anahtarı genişletme yöntemleri çağırarak erişmeniz gerekir sertifika. GetRSAPrivateKey().Therefore, callers must access the private key by calling extension methods, such as cert.GetRSAPrivateKey(). X509Certificate2.PrivateKey Özelliği çalışmaz.The X509Certificate2.PrivateKey property does not function.

  • Eski itibaren X509Certificate2.PrivateKey özelliği sertifikalarla çalışmaz, geliştiricilerin kısa ömürlü anahtarları değiştirmeden önce ciddi testler gerçekleştirmesi gerektiğini.Since the legacy X509Certificate2.PrivateKey property does not work with certificates, developers should perform rigorous testing before switching to ephemeral keys.

PKCS #10 sertifika imzalama istekleri X.509 ortak anahtar sertifikaları ve program oluşturmaProgrammatic creation of PKCS#10 certification signing requests and X.509 public key certificates

.NET Framework 4.7.2 ile başlayarak, iş yüklerini varolan araç içine hazırlanan sertifika isteği oluşturma sağlayan isteği (CSR) imzalama sertifikası oluşmasına neden olabilir.Starting with the .NET Framework 4.7.2, workloads can generate certificate signing requests (CSRs), which allows certificate request generation to be staged into existing tooling. Bu, genellikle testi senaryolarında yararlıdır.This is frequently useful in test scenarios.

Daha fazla bilgi ve kod örnekleri için bkz: "programlı oluşturulmasını PKCS #10 sertifika imzalama istekleri ve X.509 ortak anahtar sertifikaları" içinde .NET Blog.For more information and code examples, see "Programmatic creation of PKCS#10 certification signing requests and X.509 public key certificates" in the .NET Blog.

Yeni SignerInfo üyelerNew SignerInfo members

4.7.2, .NET Framework ile başlayan SignerInfo sınıfı imza hakkında daha fazla bilgi sunar.Starting with the .NET Framework 4.7.2, the SignerInfo class exposes more information about the signature. Değerini almak System.Security.Cryptography.Pkcs.SignerInfo.SignatureAlgorithm imzalayan tarafından kullanılan imza algoritmasını belirlemek için özellik.You can retrieve the value of the System.Security.Cryptography.Pkcs.SignerInfo.SignatureAlgorithm property to determine the signature algorithm used by the signer. SignerInfo.GetSignature Bu imzalayan için şifreleme imzası bir kopyasını almak için çağrılabilir.SignerInfo.GetSignature can be called to get a copy of the cryptographic signature for this signer.

Sarmalanan bir akış CryptoStream bırakıldıktan sonra açık bırakınLeaving a wrapped stream open after CryptoStream is disposed

4.7.2, .NET Framework ile başlayan CryptoStream sınıfına sahip izin veren bir ek Oluşturucu Dispose Sarmalanan akışı kapatılamadı değil.Starting with the .NET Framework 4.7.2, the CryptoStream class has an additional constructor that allows Dispose to not close the wrapped stream. Sarmalanan akış sonra açık kalma CryptoStream örneği kapatılır, yeni çağrı CryptoStream şekilde Oluşturucusu:To leave the wrapped stream open after the CryptoStream instance is disposed, call the new CryptoStream constructor as follows:

var cStream = new CryptoStream(stream, transform, mode, leaveOpen: true);
Dim cStream = New CryptoStream(stream, transform, mode, leaveOpen:=true)

DeflateStream açma değişiklikleriDecompression changes in DeflateStream

.NET Framework 4.7.2, açma işlemleri uyarlamasını başlayarak DeflateStream sınıfı, varsayılan olarak yerel Windows API'ları kullanmak üzere değişti.Starting with the .NET Framework 4.7.2, the implementation of decompression operations in the DeflateStream class has changed to use native Windows APIs by default. Genellikle, bu bir önemli performans iyileştirme sonuçlanır.Typically, this results in a substantial performance improvement.

Windows API'leri kullanarak açma desteği, .NET Framework 4.7.2 hedefleyen uygulamalar için varsayılan olarak etkindir.Support for decompression by using Windows APIs is enabled by default for applications that target .NET Framework 4.7.2. .NET Framework'ün önceki sürümlerini hedefleyen ama .NET Framework 4.7.2 altında çalışan uygulamalar kabul Bu davranış aşağıdaki ekleyerek AppContext anahtar uygulama yapılandırma dosyası için:Applications that target earlier versions of .NET Framework but are running under .NET Framework 4.7.2 can opt into this behavior by adding the following AppContext switch to the application configuration file:

<AppContextSwitchOverrides value="Switch.System.IO.Compression.DoNotUseNativeZipLibraryForDecompression=false" /> 

Ek koleksiyon API'leriAdditional collection APIs

.NET Framework 4.7.2 bir dizi yeni API ekler SortedSet<T> ve HashSet<T> türleri.The .NET Framework 4.7.2 adds a number of new APIs to the SortedSet<T> and HashSet<T> types. Bu güncelleştirmeler şunlardır:These include:

ConcurrentDictionary<TKey,TValue> Sınıfı içeren yeni aşırı AddOrUpdate ve GetOrAdd yöntemlerinin sözlükten bir değer almak için ya da onu bulunmazsa ve eklemek için sözlük veya zaten varsa güncelleştirmek için bir değer ekleyin.The ConcurrentDictionary<TKey,TValue> class includes new overloads of the AddOrUpdate and GetOrAdd methods to retrieve a value from the dictionary or to add it if it is not found, and to add a value to the dictionary or to update it if it already exists.

public TValue AddOrUpdate<TArg>(TKey key, Func<TKey, TArg, TValue> addValueFactory, Func<TKey, TValue, TArg, TValue> updateValueFactory, TArg factoryArgument)

public TValue GetOrAdd<TArg>(TKey key, Func<TKey, TArg, TValue> valueFactory, TArg factoryArgument)
Public AddOrUpdate(Of TArg)(key As TKey, addValueFactory As Func(Of TKey, TArg, TValue), updateValueFactory As Func(Of TKey, TValue, TArg, TValue), factoryArgument As TArg) As TValue

Public GetOrAdd(Of TArg)(key As TKey, valueFactory As Func(Of TKey, TArg, TValue), factoryArgument As TArg) As TValue

ASP.NETASP.NET

Web Forms bağımlılık ekleme desteğiSupport for dependency injection in Web Forms

Bağımlılık ekleme (dı) nesnenin kod artık yalnızca bir bağımlılık değiştiği için değiştirilmesi gerekir böylece nesneler ve onların bağımlılıkları ayrıştırır.Dependency injection (DI) decouples objects and their dependencies so that an object's code no longer needs to be changed just because a dependency has changed. .NET Framework 4.7.2 hedefleyen ASP.NET uygulamaları geliştirirken, şunları yapabilirsiniz:When developing ASP.NET applications that target the .NET Framework 4.7.2, you can:

Aynı sitede tanımlama bilgileri için destekSupport for same-site cookies

SameSite bir tarayıcı tanımlama bilgisi siteler arası istek birlikte göndermesini engeller.SameSite prevents a browser from sending a cookie along with a cross-site request. .NET Framework 4.7.2 ekler bir HttpCookie.SameSite özelliği, değeri olan bir System.Web.SameSiteMode numaralandırma üyesi.The .NET Framework 4.7.2 adds a HttpCookie.SameSite property whose value is a System.Web.SameSiteMode enumeration member. Öğenin değeri ise SameSiteMode.Strict veya SameSiteMode.Lax, ASP.NET ekler SameSite set-cookie üst öznitelik.If its value is SameSiteMode.Strict or SameSiteMode.Lax, ASP.NET adds the SameSite attribute to the set-cookie header. SameSite destek uygulandığı HttpCookie , de olarak nesneleri FormsAuthentication ve System.Web.SessionState tanımlama bilgileri.SameSite support applies to HttpCookie objects, as well as to FormsAuthentication and System.Web.SessionState cookies.

SameSite için ayarlayabileceğiniz bir HttpCookie gibi nesnesi:You can set SameSite for an HttpCookie object as follows:

var c = new HttpCookie("secureCookie", "same origin");
c.SameSite = SameSiteMode.Lax;
Dim c As New HttpCookie("secureCookie", "same origin")
c.SameSite = SameSiteMode.Lax

SameSite tanımlama bilgileri de uygulama düzeyinde web.config dosyasını değiştirerek de yapılandırabilirsiniz:You can also configure SameSite cookies at the application level by modifying the web.config file:

<system.web>
   <httpCookies sameSite="Strict" />
</system.web>

İçin SameSite ekleyebilirsiniz FormsAuthentication ve System.Web.SessionState web yapılandırma dosyasını değiştirerek tanımlama bilgileri:You can add SameSite for FormsAuthentication and System.Web.SessionState cookies by modifying the web config file:

<system.web>
   <authentication mode="Forms">
      <forms cookieSameSite="Lax">
         <!-- ...   -->
      </forms>
   <authentication />
   <sessionSate cookieSameSite="Lax"></sessionState>
</system.web>

Ağ OluşturmaNetworking

Uygulama HttpClientHandler özellikleriImplementation of HttpClientHandler properties

.NET Framework 4.7.1 sekiz özelliklerine eklenen System.Net.Http.HttpClientHandler sınıfı.The .NET Framework 4.7.1 added eight properties to the System.Net.Http.HttpClientHandler class. Ancak, iki belirtti bir PlatformNotSupportedException.However, two threw a PlatformNotSupportedException. .NET Framework 4.7.2 artık bu özellikleri için bir uygulama sağlar.The .NET Framework 4.7.2 now provides an implementation for these properties. Özellikler şunlardır:The properties are:

SQLClientSQLClient

Azure Active Directory Evrensel kimlik doğrulaması ve çok faktörlü kimlik doğrulaması için destekSupport for Azure Active Directory Universal Authentication and Multi-Factor authentication

Büyüyen uyumluluk ve güvenlik taleplerini birçok müşteri çok faktörlü kimlik doğrulaması (MFA) kullanmanızı gerektirir.Growing compliance and security demands require that many customers use multi-factor authentication (MFA). Ayrıca, kullanıcı parolaları doğrudan bağlantı dizeleri dahil olmak üzere geçerli en iyi yöntemler önleyin.In addition, current best practices discourage including user passwords directly in connection strings. Bu değişiklikleri desteklemek için .NET Framework 4.7.2 genişletir SQLClient bağlantı dizeleri , "Active Directory etkileşimli" MFA desteklemek varolan "Authentication" anahtar sözcüğü için yeni bir değer ekleyerek ve Azure AD Kimlik doğrulama.To support these changes, the .NET Framework 4.7.2 extends SQLClient connection strings by adding a new value, "Active Directory Interactive", for the existing "Authentication" keyword to support MFA and Azure AD Authentication. Yeni etkileşimli yöntem yerel destekler ve Azure AD kullanıcıların yanı sıra Azure AD Konuk kullanıcılar federe.The new interactive method supports native and federated Azure AD users as well as Azure AD guest users. Bu yöntem kullanıldığında, Azure AD tarafından uygulanan MFA kimlik doğrulaması SQL veritabanları için desteklenir.When this method is used, the MFA authentication imposed by Azure AD is supported for SQL databases. Ayrıca, kimlik doğrulama işlemi için en iyi güvenlik uygulamaları uyması için bir kullanıcı parolasını ister.In addition, the authentication process requests a user password to adhere to security best practices.

SQL bağlantısı yalnızca desteklenen .NET Framework'ün önceki sürümlerinde SqlAuthenticationMethod.ActiveDirectoryPassword ve SqlAuthenticationMethod.ActiveDirectoryIntegrated seçenekleri.In previous versions of the .NET Framework, SQL connectivity supported only the SqlAuthenticationMethod.ActiveDirectoryPassword and SqlAuthenticationMethod.ActiveDirectoryIntegrated options. Bunların her ikisi de etkileşimli olmayan parçası olan ADAL Protokolü, MFA desteklemiyor.Both of these are part of the non-interactive ADAL protocol, which does not support MFA. Yeni SqlAuthenticationMethod.ActiveDirectoryInteractive seçeneği, SQL Bağlantısı destekler MFA yanı sıra var olan kimlik doğrulama yöntemleri (parola ve tümleşik kimlik doğrulaması), kullanıcıların kullanıcı parolalarını kalıcı parolası etkileşimli olmayan bağlantı girmesine izin veren dize.With the new SqlAuthenticationMethod.ActiveDirectoryInteractive option, SQL connectivity supports MFA as well as existing authentication methods (password and integrated authentication), which allows users to enter user passwords interactively without persisting passwords in the connection string.

Daha fazla bilgi ve bir örnek için "SQL--Azure AD evrensel ve çok faktörlü kimlik doğrulama desteği" bölümüne bakın .NET Blog.For more information and an example, see "SQL -- Azure AD Universal and Multi-factor Authentication Support" in the .NET Blog.

Her zaman şifreli sürüm 2 desteğiSupport for Always Encrypted version 2

NET Framework 4.7.2 destekler, her zaman enclave tabanlı şifreli için ekler.NET Framework 4.7.2 adds supports for enclave-based Always Encrypted. Her zaman şifreli özgün sürümü, şifreleme anahtarları istemci hiçbir zaman ayrılmaz bir istemci tarafı şifreleme teknolojisidir.The original version of Always Encrypted is a client-side encryption technology in which encryption keys never leave the client. Enclave tabanlı her zaman şifreli, istemci isteğe bağlı olarak şifreleme anahtarları için SQL Server kodunu değiştirmesine olamaz, ancak, SQL Server'ın bir parçası olarak düşünülebilir güvenli bir hesaplama varlık güvenli bir enclave gönderebilirsiniz.In enclave-based Always Encrypted, the client can optionally send the encryption keys to a secure enclave, which is a secure computational entity that can be considered part of SQL Server but that SQL Server code cannot tamper with. Her zaman şifreli enclave tabanlı desteklemek için .NET Framework 4.7.2 aşağıdaki türleri ve üyeleri ekler System.Data.SqlClient ad alanı:To support enclave-based Always Encrypted, the .NET Framework 4.7.2 adds the following types and members to the System.Data.SqlClient namespace:

Uygulama yapılandırma dosyasına sonra Özet somut uyarlamasını belirtir System.Data.SqlClient.SqlColumnEncryptionEnclaveProvider enclave sağlayıcısı işlevselliği sağlayan sınıf.The application configuration file then specifies a concrete implementation of the abstract System.Data.SqlClient.SqlColumnEncryptionEnclaveProvider class that provides the functionality for the enclave provider. Örneğin:For example:

<configuration>
  <configSections>
    <section name="SqlColumnEncryptionEnclaveProviders" type="System.Data.SqlClient.SqlColumnEncryptionEnclaveProviderConfigurationSection,System.Data,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089"/> 
  </configSections>
  <SqlColumnEncryptionEnclaveProviders>
    <providers>
      <add name="Azure" type="Microsoft.SqlServer.Management.AlwaysEncrypted.AzureEnclaveProvider,MyApp"/>
      <add name="HGS" type="Microsoft.SqlServer.Management.AlwaysEncrypted.HGSEnclaveProvider,MyApp" />
    </providers>
  </SqlColumnEncryptionEnclaveProviders >
</configuration>

Temel enclave tabanlı her zaman şifreli akışını şöyledir:The basic flow of enclave-based Always Encrypted is:

  1. Kullanıcı enclave tabanlı her zaman şifreli desteklenen SQL Server bir AlwaysEncrypted bağlantısı oluşturur.The user creates an AlwaysEncrypted connection to SQL Server that supported enclave-based Always Encrypted. Sürücü için doğru enclave bağlanıyor emin olmak için kanıtlama hizmeti ile iletişim kurar.The driver contacts the attestation service to ensure that it is connecting to right enclave.

  2. Enclave Onaylandı sonra sürücü SQL sunucusu üzerinde barındırılan güvenli enclave güvenli bir kanal kurar.Once the enclave has been attested, the driver establishes a secure channel with the secure enclave hosted on SQL Server.

  3. Sürücü şifreleme anahtarlarını güvenli enclave sahip istemci tarafından SQL Bağlantısı süresince yetkili paylaşır.The driver shares encryption keys authorized by the client with the secure enclave for the duration of the SQL connection.

Windows Presentation FoundationWindows Presentation Foundation

Kaynak tarafından ResourceDictionaries bulmaFinding ResourceDictionaries by Source

.NET Framework 4.7.2 ile başlayarak, bir tanı Yardımcısı bulabilirsiniz ResourceDictionaries belirli bir kaynaktan URI oluşturuldu.Starting with the .NET Framework 4.7.2, a diagnostic assistant can locate the ResourceDictionaries that have been created from a given source Uri. (Bu özellik tanılama Yardımcılar tarafından üretim uygulamaları tarafından kullanılır.) Visual Studio'nun "Düzenle-ve devam et" tesis gibi tanılama Yardımcısı çalışan uygulama değişikliklerin uygulanması amacıyla ResourceDictionary Düzenle kendi kullanıcı olanak sağlar.(This feature is for use by diagnostic assistants, not by production applications.) A diagnostic assistant such as Visual Studio’s “Edit-and-Continue” facility lets its user edit a ResourceDictionary with the intent that the changes be applied to the running application. Bu ulaşmada tek bir adımda çalışan uygulama şu anda düzenlenmekte sözlükten oluşturduğu tüm ResourceDictionaries bulma.One step in achieving this is finding all the ResourceDictionaries that the running application has created from the dictionary that’s being edited. Örneğin, bir uygulamanın içerikleri belirli bir kaynaktan URI kopyalanır ResourceDictionary bildirebilirsiniz:For example, an application can declare a ResourceDictionary whose content is copied from a given source URI:

<ResourceDictionary Source="MyRD.xaml">

Özgün biçimlendirmede düzenler bir tanılama Yardımcısı MyRD.xaml yeni özellik sözlük bulmak için kullanabilirsiniz.A diagnostic assistant that edits the original markup in MyRD.xaml can use the new feature to locate the dictionary. Özelliğin yeni bir statik yöntem tarafından uygulanan ResourceDictionaryDiagnostics.GetResourceDictionariesForSource.The feature is implemented by a new static method, ResourceDictionaryDiagnostics.GetResourceDictionariesForSource. Tanılama Yardımcısı özgün biçimlendirme tanımlayan bir mutlak URI aşağıdaki kodda gösterildiği şekilde kullanarak yeni yöntemi çağırır:The diagnostic assistant calls the new method using an absolute Uri that identifies the original markup, as illustrated by the following code:

IEnumerable<ResourceDictionary> dictionaries = ResourceDictionaryDiagnostics.GetResourceDictionariesForSource(new Uri("pack://application:,,,/MyApp;component/MyRD.xaml"));
Dim dictionaries As IEnumerable(Of ResourceDictionary) = ResourceDictionaryDiagnostics.GetResourceDictionariesForSource(New Uri("pack://application:,,,/MyApp;component/MyRD.xaml"))

Boş bir numaralandırılabilir sürece yöntem VisualDiagnostics etkinleştirilir ve ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO ortam değişkeni ayarlanır.The method returns an empty enumerable unless VisualDiagnostics is enabled and the ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO environment variable is set.

ResourceDictionary sahipleri bulmaFinding ResourceDictionary owners

.NET Framework 4.7.2 ile başlayarak, bir tanılama Yardımcısı sahipleri bulabilir bir verilen ResourceDictionary.Starting with the .NET Framework 4.7.2, a diagnostic assistant can locate the owners of a given ResourceDictionary. (Özellik tanılama yardımcıları ve üretim uygulamaları tarafından kullanılır.) Her bir değişiklik yapıldığında için bir ResourceDictionary, WPF otomatik olarak bulduğu tüm DynamicResource değişiklikten etkilenen başvuruları.(The feature is for use by diagnostic assistants and not by production applications.) Whenever a change is made to a ResourceDictionary, WPF automatically finds all DynamicResource references that might be affected by the change.

Visual Studio'nun "Düzenle-ve devam et" tesis gibi tanılama Yardımcısı işlemek için genişletme isteyebilirsiniz StaticResource başvuruları.A diagnostic assistant such as Visual Studio’s “Edit-and-Continue” facility may want extend this to handle StaticResource references. Bu işlem ilk adımı, sözlük sahipleri bulmaktır; diğer bir deyişle, tüm nesneleri bulmak için Resources özelliği başvurur sözlüğe (doğrudan veya dolaylı olarak aracılığıyla ResourceDictionary.MergedDictionaries özelliği).The first step in this process is to find the owners of the dictionary; that is, to find all the objects whose Resources property refers to the dictionary (either directly, or indirectly via the ResourceDictionary.MergedDictionaries property). Üç yeni statik yöntemler üzerinde uygulanan System.Windows.Diagnostics.ResourceDictionaryDiagnostics sınıfı, her sahip temel türleri bir Resources özelliği, bu adımı destekler:Three new static methods implemented on the System.Windows.Diagnostics.ResourceDictionaryDiagnostics class, one for each of the base types that has a Resources property, support this step:

Kullanıcı hikayesinin sürece bu yöntem boş bir numaralandırılabilir'e dönmek. VisualDiagnostics etkinleştirilir ve ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO ortam değişkeni ayarlanır.These methods return an empty enumerable unless VisualDiagnostics is enabled and the ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO environment variable is set.

StaticResource başvurular bulmaFinding StaticResource references

Tanılama Yardımcısı şimdi bir bildirim almak her bir StaticResource başvurudur çözülmüş.A diagnostic assistant can now receive a notification whenever a StaticResource reference is resolved. (Özellik tanılama Yardımcılar tarafından üretim uygulamaları tarafından kullanılır.) Visual Studio'nun "Düzenle-ve devam et" tesis gibi tanılama yardımcı olan bir kaynağın tüm kullanır güncelleştirmek isteyebilirsiniz zaman değeriyle bir ResourceDictionary değişiklikler.(The feature is for use by diagnostic assistants, not by production applications.) A diagnostic assistant such as Visual Studio’s “Edit-and-Continue” facility may want to update all uses of a resource when its value in a ResourceDictionary changes. WPF için otomatik olarak yapar DynamicResource başvuruyor, ancak özellikle yapmaz bunu StaticResource başvuruları.WPF does this automatically for DynamicResource references, but it intentionally does not do so for StaticResource references. .NET Framework 4.7.2 ile başlayarak, tanılama Yardımcısı, bu kullanımları statik kaynak bulmak için bu bildirimler kullanabilirsiniz.Starting with the .NET Framework 4.7.2, the diagnostic assistant can use these notifications to locate those uses of the static resource.

Bildirim yeni tarafından uygulanan ResourceDictionaryDiagnostics.StaticResourceResolved olay:The notification is implemented by the new ResourceDictionaryDiagnostics.StaticResourceResolved event:

public static event EventHandler<StaticResourceResolvedEventArgs> StaticResourceResolved;
Public Shared Event StaticResourceResolved As EventHandler(Of StaticResourceResolvedEventArgs)

Çalışma zamanı çözümler olduğunda bu olay tetiklenir bir StaticResource başvuru.This event is raised whenever the runtime resolves a StaticResource reference. StaticResourceResolvedEventArgs Bağımsız değişkenleri çözümleme açıklar ve nesne ve özellik barındıran belirtmek StaticResource başvurusu ve ResourceDictionary ve çözümlemesi için kullanılan anahtarı:The StaticResourceResolvedEventArgs arguments describe the resolution, and indicate the object and property that host the StaticResource reference and the ResourceDictionary and key used for the resolution:

public class StaticResourceResolvedEventArgs : EventArgs
{
   public Object TargetObject { get; }

   public Object TargetProperty { get; }

   public ResourceDictionary ResourceDictionary { get; }

   public object ResourceKey { get; }
}

Olay oluşmaz (ve kendi add erişimci göz ardı edilir) sürece VisualDiagnostics etkinleştirilir ve ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO ortam değişkeni ayarlanır.The event is not raised (and its add accessor is ignored) unless VisualDiagnostics is enabled and the ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO environment variable is set.

ClickOnceClickOnce

HDPI kullanan uygulamalar için Office (VSTO) Windows Formları, Windows Presentation Foundation (WPF) ve Visual Studio Araçları için tüm ClickOnce kullanılarak dağıtılabilir.HDPI-aware applications for Windows Forms, Windows Presentation Foundation (WPF), and Visual Studio Tools for Office (VSTO) can all be deployed by using ClickOnce. Dağıtım, şu girdiyi uygulama bildiriminde bulunursa, .NET Framework 4.7.2 altında başarılı olur:If the following entry is found in the application manifest, deployment will succeed under .NET Framework 4.7.2:

<windowsSettings>
   <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
</windowsSettings>

Windows Forms uygulaması için uygulama bildirimi yerine uygulama yapılandırma dosyasına DPI tanıma ayarlama önceki geçici artık başarılı olması ClickOnce dağıtımı için gerekli değildir.For Windows Forms application, the previous workaround of setting DPI awareness in the application configuration file rather than the application manifest is no longer necessary for ClickOnce deployment to succeed.

.NET Framework 4.7.1 yeniliklerWhat's new in the .NET Framework 4.7.1

.NET Framework 4.7.1 aşağıdaki alanlarda yeni özellikler içerir:The .NET Framework 4.7.1 includes new features in the following areas:

Ayrıca, .NET Framework 4.7.1 ana odakta yardımcı teknoloji kullanıcılar için uygun bir deneyim sağlamak üzere bir uygulamanın sağlayan iyileştirilmiş Erişilebilirlik ' dir.In addition, a major focus in the .NET Framework 4.7.1 is improved accessibility, which allows an application to provide an appropriate experience for users of Assistive Technology. .NET Framework'teki 4.7.1 erişilebilirlik geliştirmeleri hakkında daha fazla bilgi için bkz: erişilebilirlik .NET Framework'teki yenilikler.For information on accessibility improvements in the .NET Framework 4.7.1, see What's new in accessibility in the .NET Framework.

ÇekirdekCore

.NET standart 2.0 desteğiSupport for .NET Standard 2.0

.NET standart bir dizi standart bu sürümünü destekleyen her .NET uygulama kullanılabilir olmalıdır API tanımlar..NET Standard defines a set of APIs that must be available on each .NET implementation that supports that version of the standard. .NET Framework 4.7.1 tam olarak .NET standart 2.0 destekler ve ekler yaklaşık 200 API'leri .NET standart 2.0 içinde tanımlanır ve .NET Framework 4.6.1, 4.6.2 ve 4.7'eksik.The .NET Framework 4.7.1 fully supports .NET Standard 2.0 and adds about 200 APIs that are defined in .NET Standard 2.0 and are missing from the .NET Framework 4.6.1, 4.6.2, and 4.7. (Yalnızca ek .NET standart destek dosyalarını da hedef sistemde dağıtıldıysa .NET Framework'ün bu sürümleri .NET standart 2.0 desteklediğini unutmayın.) Daha fazla bilgi için bkz: "BCL – .NET standart 2.0 desteği" 4.7.1 .NET Framework çalışma zamanının ve derleyici özellikleri blog postası.(Note that these versions of the .NET Framework support .NET Standard 2.0 only if additional .NET Standard support files are also deployed on the target system.) For more information, see "BCL - .NET Standard 2.0 Support" in the .NET Framework 4.7.1 Runtime and Compiler Features blog post.

Yapılandırma oluşturucular için destekSupport for configuration builders

Yapılandırma oluşturucular ekleme ve uygulamalar için yapılandırma ayarlarını çalışma zamanında dinamik olarak oluşturmak geliştiriciler izin verin.Configuration builders allow developers to inject and build configuration settings for applications dynamically at run time. Özel yapılandırma Oluşturucular, yapılandırma bölümünde var olan verileri değiştirebilir veya tamamen sıfırdan yapılandırma bölümü oluşturmak için kullanılabilir.Custom configuration builders can be used to modify existing data in a configuration section or to build a configuration section entirely from scratch. Yapılandırma oluşturucular olmadan .config dosyaları statik ve ayarlarını bir uygulama başlatılmadan önce biraz zaman tanımlanır.Without configuration builders, .config files are static, and their settings are defined some time before an application is launched.

Özel yapılandırma Oluşturucu oluşturmak için sizin Oluşturucu Özet türetilen ConfigurationBuilder sınıfı ve geçersiz kılma kendi ConfigurationBuilder.ProcessConfigurationSection ve ConfigurationBuilder.ProcessRawXml.To create a custom configuration builder, you derive your builder from the abstract ConfigurationBuilder class and override its ConfigurationBuilder.ProcessConfigurationSection and ConfigurationBuilder.ProcessRawXml. Ayrıca, Oluşturucular .config dosyanızda tanımlayın.You also define your builders in your .config file. Daha fazla bilgi için "Yapılandırma oluşturucular" bölümüne bakın .NET Framework 4.7.1 ASP.NET ve yapılandırma özellikleri blog postası.For more information, see the "Configuration Builders" section in the .NET Framework 4.7.1 ASP.NET and Configuration Features blog post.

Çalışma zamanı özelliği algılamaRun-time feature detection

System.Runtime.CompilerServices.RuntimeFeature Sınıfı bir mekanizma sağlar önceden tanımlanmış bir özellik belirli bir .NET uygulama derleme zamanında ya da çalışma zamanında desteklenip desteklenmediğini belirlemek için.The System.Runtime.CompilerServices.RuntimeFeature class provides a mechanism for determine whether a predefined feature is supported on a given .NET implementation at compile time or run time. Derleme zamanında bir derleyici belirtilen alan özellik desteklenip desteklenmediğini belirlemek için mevcut olup olmadığını kontrol edebilirsiniz; Öyleyse, bu özellik yararlanan kod yayma.At compile time, a compiler can check whether a specified field exists to determine whether the feature is supported; if so, it can emit code that takes advantage of that feature. Çalışma zamanında uygulama çağırabilirsiniz RuntimeFeature.IsSupported çalışma zamanında kod yayma önce yöntemi.At run time, an application can call the RuntimeFeature.IsSupported method before emitting code at runtime. Daha fazla bilgi için bkz: çalışma zamanı tarafından desteklenen özellikler açıklamak için yardımcı yöntemi ekleyin.For more information, see Add helper method to describe features supported by the runtime.

Tuple türlerin seri hale getirilebilirValue tuple types are serializable

4.7.1, .NET Framework ile başlayan System.ValueTuple ve onun ilişkili genel türleri olarak işaretlenmiş Serializable, ikili seri hale getirme izin verir.Starting with the .NET Framework 4.7.1, System.ValueTuple and its associated generic types are marked as Serializable, which allows binary serialization. Bu geçirme tanımlama grubu türleri gibi olmalısınız Tuple<T1,T2,T3> ve Tuple<T1,T2,T3,T4>, değer tanımlama grubu türlerine daha kolay.This should make migrating Tuple types, such as Tuple<T1,T2,T3> and Tuple<T1,T2,T3,T4>, to value tuple types easier. Daha fazla bilgi için "Derleyici--ValueTuple olduğundan seri hale getirilebilir" bölümüne bakın 4.7.1 .NET Framework çalışma zamanının ve derleyici özellikleri blog postası.For more information, see "Compiler -- ValueTuple is Serializable" in the .NET Framework 4.7.1 Runtime and Compiler Features blog post.

Salt okunur başvurular için destekSupport for read-only references

.NET Framework 4.7.1 ekler System.Runtime.CompilerServices.IsReadOnlyAttribute.The .NET Framework 4.7.1 adds the System.Runtime.CompilerServices.IsReadOnlyAttribute. Bu öznitelik dil derleyicileri tarafından salt okunur ref dönüş türleri veya parametreleri sahip üyeler işaretlemek için kullanılır.This attribute is used by language compilers to mark members that have read-only ref return types or parameters. Daha fazla bilgi için bkz: "Derleyici--desteği için ReadOnlyReferences" 4.7.1 .NET Framework çalışma zamanının ve derleyici özellikleri blog postası.For more information, see "Compiler -- Support for ReadOnlyReferences" in the .NET Framework 4.7.1 Runtime and Compiler Features blog post. Ref dönüş değerleri hakkında daha fazla bilgi için bkz: Ref Yereller (C# Kılavuzu) dönüş değerleri ve ref ve Ref dönüş değerleri (Visual Basic).For information on ref return values, see Ref return values and ref locals (C# Guide) and Ref return values (Visual Basic).

Ortak dil çalışma zamanı (CLR)Common language runtime (CLR)

Çöp toplama performans iyileştirmeleriGarbage collection performance improvements

Çöp toplama (GC) .NET Framework 4.7.1 yapılan değişiklikler özellikle büyük nesne yığın (LOH) ayırmaları için genel performansı iyileştirir.Changes to garbage collection (GC) in the .NET Framework 4.7.1 improve overall performance, especially for Large Object Heap (LOH) allocations. .NET Framework 4.7.1'da, arka plan GC (BGC) SOH yerleştirmez ortaya çıkması LOH ayırmaları sağlayan küçük nesne yığın (SOH) ve LOH ayırmalarının ayrı kilitleri kullanılır.In the .NET Framework 4.7.1, separate locks are used for Small Object Heap (SOH) and LOH allocations, which allows LOH allocations to occur when Background GC (BGC) is sweeping the SOH. Sonuç olarak, çok sayıda LOH ayırmaları uygulamalar ayırma kilit çakışması ve iyileştirilmiş performans azalmasına görmeniz gerekir.As a result, applications that make a large number of LOH allocations should see a reduction in allocation lock contention and improved performance. Daha fazla bilgi için "Çalışma zamanı--GC performans iyileştirmeleri" bölümüne bakın 4.7.1 .NET Framework çalışma zamanının ve derleyici özellikleri blog postası.For more information, see the "Runtime -- GC Performance Improvements" section in the .NET Framework 4.7.1 Runtime and Compiler Features blog post.

Ağ OluşturmaNetworking

Message.HashAlgorithm SHA-2 desteğiSHA-2 support for Message.HashAlgorithm

.NET Framework 4.7 ve önceki sürümlerde, Message.HashAlgorithm desteklenen özellik değerleri HashAlgorithm.Md5 ve HashAlgorithm.Sha yalnızca.In the .NET Framework 4.7 and earlier versions, the Message.HashAlgorithm property supported values of HashAlgorithm.Md5 and HashAlgorithm.Sha only. 4.7.1, .NET Framework ile başlayan HashAlgorithm.Sha256, HashAlgorithm.Sha384, ve HashAlgorithm.Sha512 de desteklenir.Starting with the .NET Framework 4.7.1, HashAlgorithm.Sha256, HashAlgorithm.Sha384, and HashAlgorithm.Sha512 are also supported. Bu değer gerçekte kullanılıp kullanılmadığını MSMQ üzerinde beri bağlıdır Message örneğinin kendisi hiçbir karma yapar ancak yalnızca değerleri için MSMQ geçirir.Whether this value is actually used depends on MSMQ, since the Message instance itself does no hashing but simply passes on values to MSMQ. Daha fazla bilgi için "Message.HashAlgorithm SHA-2 desteği" bölümüne bakın .NET Framework 4.7.1 ASP.NET ve yapılandırma özelliklerini blog postası.For more information, see the "SHA-2 support for Message.HashAlgorithm" section in the .NET Framework 4.7.1 ASP.NET and Configuration features blog post.

ASP.NETASP.NET

ASP.NET uygulamalarında yürütme adımlarıExecution steps in ASP.NET applications

ASP.NET 23 olayları içerdiği önceden tanımlanmış bir ardışık düzende isteklerini işler.ASP.NET processes requests in a predefined pipeline that includes 23 events. ASP.NET her olay işleyicisi yürütme adım olarak yürütür.ASP.NET executes each event handler as an execution step. .NET Framework 4.7 kadar ASP.NET sürümlerinde, yerel ve yönetilen iş parçacıkları arasında geçiş yapma nedeniyle yürütme bağlamı ASP.NET geçirilemez.In versions of ASP.NET up to the .NET Framework 4.7, ASP.NET can't flow the execution context due to switching between native and managed threads. Bunun yerine, ASP.NET seçmeli olarak yalnızca akar HttpContext.Instead, ASP.NET selectively flows only the HttpContext. 4.7.1, .NET Framework ile başlayan HttpApplication.OnExecuteRequestStep(Action<HttpContextBase,Action>) yöntemi modülleri ortam verileri geri yüklemek de sağlar.Starting with the .NET Framework 4.7.1, the HttpApplication.OnExecuteRequestStep(Action<HttpContextBase,Action>) method also allows modules to restore ambient data. Bu özellik, uygulama yürütme akışı hakkında dikkat izlemeyi, profil oluşturma, tanılama veya işlemler, örneğin, ile ilgilenen kitaplıkları adresindeki yöneliktir.This feature is targeted at libraries concerned with tracing, profiling, diagnostics, or transactions, for example, that care about the execution flow of the application. Daha fazla bilgi için bkz: "ASP.NET yürütme adım özelliği" .NET Framework 4.7.1 ASP.NET ve yapılandırma özellikleri blog postası.For more information, see the "ASP.NET Execution Step Feature" in the .NET Framework 4.7.1 ASP.NET and Configuration Features blog post.

ASP.NET ayrıştırma HttpCookieASP.NET HttpCookie parsing

.NET Framework 4.7.1 yeni bir yöntem içerir HttpCookie.TryParse, oluşturmak için standartlaştırılmış bir yol sağlayan bir HttpCookie nesne bir dizeden ve doğru bir şekilde sona erme tarihi ve yol gibi tanımlama bilgisi değerler atayın.The .NET Framework 4.7.1 includes a new method, HttpCookie.TryParse, that provides a standardized way to create an HttpCookie object from a string and accurately assign cookie values such as expiration date and path. Daha fazla bilgi için bkz: "ASP.NET ayrıştırma HttpCookie" .NET Framework 4.7.1 ASP.NET ve yapılandırma özellikleri blog postası.For more information, see "ASP.NET HttpCookie parsing" in the .NET Framework 4.7.1 ASP.NET and Configuration Features blog post.

ASP.NET formları kimlik doğrulama kimlik bilgileri için SHA-2 karma seçenekleriSHA-2 hash options for ASP.NET forms authentication credentials

.NET Framework 4.7 ve önceki sürümleri, ASP.NET kullanıcı kimlik bilgileriyle karma parolalar MD5 veya SHA1 kullanarak yapılandırma dosyalarını depolamak geliştiricilere izin.In the .NET Framework 4.7 and earlier versions, ASP.NET allowed developers to store user credentials with hashed passwords in configuration files using either MD5 or SHA1. ASP.NET .NET Framework 4.7.1 ile başlayarak, SHA256, SHA384 ve SHA512 gibi yeni güvenli SHA-2 karma seçenekleri de destekler.Starting with the .NET Framework 4.7.1, ASP.NET also supports new secure SHA-2 hash options such as SHA256, SHA384, and SHA512. SHA1 varsayılan olarak kalır ve varsayılan olmayan karma algoritma web yapılandırma dosyasında tanımlanabilir.SHA1 remains the default, and a non-default hash algorithm can be defined in the web configuration file. Örneğin:For example:

<system.web>
    <authentication mode="Forms">
        <forms loginUrl="~/login.aspx">
          <credentials passwordFormat="SHA512">
            <user name="jdoe" password="6D003E98EA1C7F04ABF8FCB375388907B7F3EE06F278DB966BE960E7CBBD103DF30CA6D61F7E7FD981B2E4E3A64D43C836A4BEDCA165C33B163E6BCDC538A664" />
          </credentials>
        </forms>
    </authentication>
</system.web>

.NET Framework 4.7 yeniliklerWhat's new in the .NET Framework 4.7

.NET Framework 4.7 aşağıdaki alanlarda yeni özellikler içerir:The .NET Framework 4.7 includes new features in the following areas:

Yeni API'lerin listesi için .NET Framework 4.7 eklenen için bkz: .NET Framework 4.7 API değişiklikleri github'da.For a list of new APIs added to the .NET Framework 4.7, see .NET Framework 4.7 API Changes on GitHub. Özellik geliştirmeleri ve .NET Framework 4.7 hata düzeltmeleri listesi için bkz: .NET Framework 4.7 değişiklikleri listesi github'da.For a list of feature improvements and bug fixes in the .NET Framework 4.7, see .NET Framework 4.7 List of Changes on GitHub. Ek bilgi için bkz: .NET Framework 4.7 Duyurusu .NET Web günlüğündeki.For additional information, see Announcing the .NET Framework 4.7 in the .NET blog.

ÇekirdekCore

.NET Framework 4.7 tarafından serileştirme artırır DataContractJsonSerializer:The .NET Framework 4.7 improves serialization by the DataContractJsonSerializer:

Gelişmiş işlevselliği Eliptik Eğri Şifrelemesi (ECC)*Enhanced functionality with Elliptic Curve Cryptography (ECC)*

.NET Framework 4.7 içinde ImportParameters(ECParameters) yöntemleri için eklendi ECDsa ve ECDiffieHellman sınıfları önceden oluşturulmuş bir anahtar temsil etmek bir nesne için izin vermek için.In the .NET Framework 4.7, ImportParameters(ECParameters) methods were added to the ECDsa and ECDiffieHellman classes to allow for an object to represent an already-established key. Bir ExportParameters(Boolean) yöntemi, açık eğri parametreleri kullanarak anahtarı dışa aktarmak için de eklenmiştir.An ExportParameters(Boolean) method was also added for exporting the key using explicit curve parameters.

.NET Framework 4.7 ayrıca ek Eğriler (Brainpool eğri paketine dahil) için destek ekler ve önceden tanımlanmış tanımları kolaylığı, oluşturulması yeni aracılığıyla için eklenmiş Create ve Create Fabrika yöntemleri.The .NET Framework 4.7 also adds support for additional curves (including the Brainpool curve suite), and has added predefined definitions for ease-of-creation through the new Create and Create factory methods.

Gördüğünüz bir .NET Framework 4.7 şifreleme geliştirmeleri örneği github'da.You can see an example of .NET Framework 4.7 cryptography improvements on GitHub.

Denetim karakterleri DataContractJsonSerializer göre daha iyi desteğiBetter support for control characters by the DataContractJsonSerializer

.NET Framework 4.7 içinde DataContractJsonSerializer denetim karakterleri ECMAScript 6 standart in conformity with serileştirir.In the .NET Framework 4.7, the DataContractJsonSerializer serializes control characters in conformity with the ECMAScript 6 standard. Bu davranış, .NET Framework 4.7 hedefleyen uygulamalar için varsayılan olarak etkindir ve katılımı özellik .NET Framework 4.7 altında çalışan ancak .NET Framework'ün önceki bir sürümü hedeflemesini uygulamalar için.This behavior is enabled by default for applications that target the .NET Framework 4.7, and is an opt-in feature for applications that are running under the .NET Framework 4.7 but target a previous version of the .NET Framework. Daha fazla bilgi için bkz: .NET Framework 4.7 yeniden hedefleme değişiklikleri.For more information, see Retargeting Changes in the .NET Framework 4.7.

Ağ OluşturmaNetworking

.NET Framework 4.7 aşağıdaki ağ ile ilişkili özelliği ekler:The .NET Framework 4.7 adds the following network-related feature:

TLS protokolleri için varsayılan işletim sistemi desteği*Default operating system support for TLS protocols*

Tarafından kullanılan TLS yığın System.Net.Security.SslStream ve yukarı yığın bileşenleri HTTP, FTP ve SMTP gibi işletim sistemi tarafından desteklenen varsayılan TLS protokolleri kullanmak üzere geliştiricilerin sağlar.The TLS stack, which is used by System.Net.Security.SslStream and up-stack components such as HTTP, FTP, and SMTP, allows developers to use the default TLS protocols supported by the operating system. Geliştiriciler hiçbir uzun sabit kodlu bir TLS sürümü gerekir.Developers need no longer hard-code a TLS version.

ASP.NETASP.NET

.NET Framework 4.7 ASP.NET aşağıdaki yeni özellikleri içerir:In the .NET Framework 4.7, ASP.NET includes the following new features:

Nesne önbelleği genişletilebilirliğiObject Cache Extensibility

ASP.NET, .NET Framework 4.7 ile başlayarak, yeni bir bellekteki nesne önbelleğe alma ve bellek izlemesi için varsayılan ASP.NET uygulamaları değiştirmek geliştiricilere sağlayan API kümesi ekler.Starting with the .NET Framework 4.7, ASP.NET adds a new set of APIs that allow developers to replace the default ASP.NET implementations for in-memory object caching and memory monitoring. ASP.NET uygulaması yeterli değilse, geliştiriciler artık aşağıdaki üç bileşeni hiçbirini değiştirebilirsiniz:Developers can now replace any of the following three components if the ASP.NET implementation is not adequate:

  • Nesne önbelleği deposu.Object Cache Store. Yeni bir önbellek sağlayıcıları yapılandırması bölümü kullanarak, geliştiricilerin bir ASP.NET uygulaması için bir nesne önbelleği yeni uygulamalarında yeni kullanarak ekleyebilirsiniz ICacheStoreProvider arabirimi.By using the new cache providers configuration section, developers can plug in new implementations of an object cache for an ASP.NET application by using the new ICacheStoreProvider interface.

  • Bellek izlemesi.Memory monitoring. Varsayılan bellek İzleyicisi'nde ASP.NET uygulamaları işlemi için yapılandırılan özel bayt sınırına yakın çalıştırırken veya makine üzerinde kullanılabilir toplam fiziksel RAM'in düşük olduğunda bildirir.The default memory monitor in ASP.NET notifies applications when they are running close to the configured private bytes limit for the process, or when the machine is low on total available physical RAM. Bu sınırlar yaklaştığında bildirim tetiklenir.When these limits are near, notifications are fired. Bazı uygulamalar için bildirimler için yararlı tepki izin vermek için yapılandırılmış sınırları için çok yakın gönderildi.For some applications, notifications are fired too close to the configured limits to allow for useful reactions. Geliştiriciler artık varsayılan kullanarak değiştirmek için kendi bellek izleyiciler yazma ApplicationMonitors.MemoryMonitor özelliği.Developers can now write their own memory monitors to replace the default by using the ApplicationMonitors.MemoryMonitor property.

  • Bellek sınırı tepki.Memory Limit Reactions. Varsayılan olarak, ASP.NET nesne önbelleği kırpma ve düzenli aralıklarla çağırmayı dener GC.Collect özel bayt işlem sınırı olduğunda yakın.By default, ASP.NET attempts to trim the object cache and periodically call GC.Collect when the private byte process limit is near. Bazı uygulamalar, çağrıları sıklığını için GC.Collect veya kırpılır önbellek miktarı yetersiz.For some applications, the frequency of calls to GC.Collect or the amount of cache that is trimmed are inefficient. Geliştiriciler, şimdi değiştirmek veya varsayılan davranışı abone olarak ek IObserver uygulamaları uygulamanın bellek İzleyicisi.Developers can now replace or supplement the default behavior by subscribing IObserver implementations to the application's memory monitor.

Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)

Windows Communication Foundation (WCF), aşağıdaki özellikler ve değişiklikleri ekler:Windows Communication Foundation (WCF) adds the following features and changes:

TLS 1.1 veya TLS 1.2 varsayılan ileti güvenlik ayarlarını yapılandırma yeteneğiAbility to configure the default message security settings to TLS 1.1 or TLS 1.2

.NET Framework 4.7 ile başlayarak, WCF, TLS 1.1 veya TLS 1.2 SSL 3.0 ve TLS 1.0 ek olarak varsayılan ileti güvenlik protokolü olarak yapılandırmanıza olanak sağlar.Starting with the .NET Framework 4.7, WCF allows you to configure TSL 1.1 or TLS 1.2 in addition to SSL 3.0 and TSL 1.0 as the default message security protocol. Bu katılımı bir ayardır; etkinleştirmek için uygulama yapılandırma dosyasına aşağıdaki giriş eklemeniz gerekir:This is an opt-in setting; to enable it, you must add the following entry to your application configuration file:

<runtime>
   <AppContextSwitchOverrides value="Switch.System.ServiceModel.DisableUsingServicePointManagerSecurityProtocols=false;Switch.System.Net.DontEnableSchUseStrongCrypto=false" /> 
</runtime>

Geliştirilmiş güvenilirliğini WCF uygulamaları ve WCF seri hale getirmeImproved reliability of WCF applications and WCF serialization

WCF, böylece performansı ve güvenilirliği seri hale getirme seçeneklerinin geliştirme yarış durumları ortadan kod değişiklikleri sayısını içerir.WCF includes a number of code changes that eliminate race conditions, thereby improving performance and the reliability of serialization options. Bu güncelleştirmeler şunlardır:These include:

  • Zaman uyumsuz ve zaman uyumlu kod çağrılarında karıştırma için daha iyi destek SocketConnection.BeginRead ve SocketConnection.Read.Better support for mixing asynchronous and synchronous code in calls to SocketConnection.BeginRead and SocketConnection.Read.
  • Bağlantı durduruluyor zaman güvenilirlik geliştirilmiş SharedConnectionListener ve DuplexChannelBinder.Improved reliability when aborting a connection with SharedConnectionListener and DuplexChannelBinder.
  • Çağrılırken seri hale getirme işlemlerinin güvenilirliğini geliştirilmiş FormatterServices.GetSerializableMembers(Type) yöntemi.Improved reliability of serialization operations when calling the FormatterServices.GetSerializableMembers(Type) method.
  • Bir garson çağırarak kaldırırken güvenilirlik geliştirilmiş ChannelSynchronizer.RemoveWaiter yöntemi.Improved reliability when removing a waiter by calling the ChannelSynchronizer.RemoveWaiter method.

Windows FormsWindows Forms

.NET Framework 4.7 Windows Forms yüksek DPI monitör artırır.In the .NET Framework 4.7, Windows Forms improves support for high DPI monitors.

Yüksek DPI desteğiHigh DPI support

Bu hedef .NET Framework 4.7 .NET Framework uygulamaları ile başlayan özellikler yüksek DPI ve dinamik DPI Windows Forms uygulamaları için desteği.Starting with applications that target the .NET Framework 4.7, the .NET Framework features high DPI and dynamic DPI support for Windows Forms applications. Yüksek DPI desteği düzen ve formlar ve denetimler yüksek DPI monitörde görünümünü geliştirir.High DPI support improves the layout and appearance of forms and controls on high DPI monitors. Dinamik DPI düzenini ve formlar görünümünü değiştirir ve kullanıcı DPI veya görüntü ölçek faktörü çalışan bir uygulama, değiştiğinde denetler.Dynamic DPI changes the layout and appearance of forms and controls when the user changes the DPI or display scale factor of a running application.

Yüksek DPI desteğinin tanımlayarak yapılandırma katılımı özelliği olan bir <System.Windows.Forms.ConfigurationSection > uygulama yapılandırma dosyanızı bölümünde.High DPI support is an opt-in feature that you configure by defining a <System.Windows.Forms.ConfigurationSection> section in your application configuration file. Windows Forms uygulamanıza yüksek DPI ve dinamik DPI desteği ekleme hakkında daha fazla bilgi için bkz: yüksek DPI destekleyen Windows Forms'ta.For more information on adding high DPI support and dynamic DPI support to your Windows Forms application, see High DPI Support in Windows Forms.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

.NET Framework 4.7 WPF aşağıdaki geliştirmeleri içerir:In the .NET Framework 4.7, WPF includes the following enhancements:

Windows WM_POINTER iletileri dayalı bir touch/kalem yığını desteğiSupport for a touch/stylus stack based on Windows WM_POINTER messages

Şimdi dayalı bir touch/kalem yığını kullanma seçeneğiniz WM_POINTER iletileri yerine Windows mürekkep Hizmetleri Platform'nı (WISP).You now have the option of using a touch/stylus stack based on WM_POINTER messages instead of the Windows Ink Services Platform (WISP). Bu bir katılımı .NET Framework'teki özelliğidir.This is an opt-in feature in the .NET Framework. Daha fazla bilgi için bkz: .NET Framework 4.7 yeniden hedefleme değişiklikleri.For more information, see Retargeting Changes in the .NET Framework 4.7.

WPF API'leri yazdırma için yeni uygulamaNew implementation for WPF printing APIs

WPF API'leri yazdırma System.Printing.PrintQueue çağrı Windows sınıfı yazdırma belge paket API kullanım dışı yerine XPS yazdırma API.WPF's printing APIs in the System.Printing.PrintQueue class call the Windows Print Document Package API instead of the deprecated XPS Print API. Bu değişiklik uygulama uyumluluğu etkisini için bkz: .NET Framework 4.7 yeniden hedefleme değişiklikleri.For the impact of this change on application compatibility, see Retargeting Changes in the .NET Framework 4.7.

.NET Framework 4.6.2 yeniliklerWhat's new in the .NET Framework 4.6.2

.NET Framework 4.6.2.NET Framework 4.6.2 Aşağıdaki alanlarda yeni özellikler içerir:The .NET Framework 4.6.2.NET Framework 4.6.2 includes new features in the following areas:

.NET Framework 4.6.2 yeni API'lerin listesi eklenen için bkz: .NET Framework 4.6.2 API değişiklikleri github'da.For a list of new APIs added to the .NET Framework 4.6.2, see .NET Framework 4.6.2 API Changes on GitHub. Özellik geliştirmeleri ve hata düzeltmeleri .NET Framework 4.6.2 listesi için bkz: .NET Framework 4.6.2 değişiklikler listesi github'da.For a list of feature improvements and bug fixes in the .NET Framework 4.6.2, see .NET Framework 4.6.2 List of Changes on GitHub. Ek bilgi için bkz: tanışın .NET Framework 4.6.2 .NET Web günlüğündeki.For additional information, see Announcing .NET Framework 4.6.2 in the .NET blog.

ASP.NETASP.NET

İçinde .NET Framework 4.6.2.NET Framework 4.6.2, ASP.NET aşağıdaki geliştirmeleri içerir:In the .NET Framework 4.6.2.NET Framework 4.6.2, ASP.NET includes the following enhancements:

Veri ek açıklaması doğrulayıcıları yerelleştirilmiş hata iletileri için gelişmiş destekImproved support for localized error messages in data annotation validators

Veri ek açıklaması doğrulayıcıları sınıf özelliği için bir veya daha fazla öznitelik ekleyerek doğrulama gerçekleştirmek etkinleştirin.Data annotation validators enable you to perform validation by adding one or more attributes to a class property. Özniteliğin ValidationAttribute.ErrorMessage öğesi doğrulama başarısız olursa hata iletisinin metni tanımlar.The attribute's ValidationAttribute.ErrorMessage element defines the text of the error message if validation fails. İle başlayarak .NET Framework 4.6.2.NET Framework 4.6.2, ASP.NET hata iletileri yerelleştirme yapmayı kolaylaştırır.Starting with the .NET Framework 4.6.2.NET Framework 4.6.2, ASP.NET makes it easy to localize error messages. Hata iletileri, yerelleştirilmiş:Error messages will be localized if:

  1. ValidationAttribute.ErrorMessage Doğrulama özniteliğinde sağlanır.The ValidationAttribute.ErrorMessage is provided in the validation attribute.

  2. Kaynak dosyası App_LocalResources klasöründe depolanır.The resource file is stored in the App_LocalResources folder.

  3. Formun yerelleştirilmiş kaynaklar dosya adına sahip DataAnnotation.Localization.{ adı}.resx, burada adı bir kültür adı biçiminde languageCode - ülke/regionCode veya languageCode.The name of the localized resources file has the form DataAnnotation.Localization.{name}.resx, where name is a culture name in the format languageCode-country/regionCode or languageCode.

  4. Anahtar adı kaynağın atanan dizedir ValidationAttribute.ErrorMessage özniteliği, değerini ise yerelleştirilmiş hata iletisi.The key name of the resource is the string assigned to the ValidationAttribute.ErrorMessage attribute, and its value is the localized error message.

Örneğin, aşağıdaki veri ek açıklaması özniteliği için geçersiz bir derecelendirme varsayılan kültürün hata iletisini tanımlar.For example, the following data annotation attribute defines the default culture's error message for an invalid rating.

public class RatingInfo
{
   [Required(ErrorMessage = "The rating must be between 1 and 10.")]
   [Display(Name = "Your Rating")]
   public int Rating { get; set; }
}
Public Class RatingInfo
   <Required(ErrorMessage = "The rating must be between 1 and 10.")>
   <Display(Name = "Your Rating")>
   Public Property Rating As Integer = 1
End Class

Daha sonra DataAnnotation.Localization.fr.resx hata ileti dizesi olan anahtarıdır ve yerelleştirilmiş hata iletisi, değeri olan bir kaynak dosyası oluşturabilirsiniz.You can then create a resource file, DataAnnotation.Localization.fr.resx, whose key is the error message string and whose value is the localized error message. Dosya içinde bulunması gereken App.LocalResources klasör.The file must be found in the App.LocalResources folder. Örneğin, anahtarını ve değerini yerelleştirilmiş Fransızca (fr) dil hata iletisi şudur:For example, the following is the key and its value in a localized French (fr) language error message:

AdName DeğerValue
Derecelendirme, 1 ile 10 arasında olmalıdır.The rating must be between 1 and 10. Seçeneğinden être oluşturan diğer 1 la Not et 10.La note doit être comprise entre 1 et 10.

Ayrıca, veri ek açıklaması yerelleştirme genişletilebilir.In addition, data annotation localization is extensible. Geliştiriciler Tak kendi dize yerelleştiriciye sağlayıcısında uygulayarak IStringLocalizerProvider yerelleştirme dize yere dışında bir kaynak dosyasında depolamak için arabirim.Developers can plug in their own string localizer provider by implementing the IStringLocalizerProvider interface to store localization string somewhere other than in a resource file.

Oturum durumu depolama sağlayıcıları ile zaman uyumsuz desteğiAsync support with session-state store providers

ASP.NET, böylece zaman uyumsuz ölçeklenebilirlik avantajlarını almak ASP.NET uygulamalarını izin vererek, oturum durumu depolama sağlayıcıları ile kullanılacak görev döndürme yöntemleri artık izin verir.ASP.NET now allows task-returning methods to be used with session-state store providers, thereby allowing ASP.NET apps to get the scalability benefits of async. Desteklediği için oturum durumu ile zaman uyumsuz işlemleri sağlayıcıları depolamak, ASP.NET içeren yeni bir arabirimi System.Web.SessionState.ISessionStateModule, devralan IHttpModule ve geliştiricilerin kendi oturum durumu modülü ve zaman uyumsuz oturum depolama sağlayıcıları uygulamak olanak tanır.To supports asynchronous operations with session state store providers, ASP.NET includes a new interface, System.Web.SessionState.ISessionStateModule, which inherits from IHttpModule and allows developers to implement their own session-state module and async session store providers. Arabirim şu şekilde tanımlanır:The interface is defined as follows:

public interface ISessionStateModule : IHttpModule {
    void ReleaseSessionState(HttpContext context);
    Task ReleaseSessionStateAsync(HttpContext context);
}

Ayrıca, SessionStateUtility sınıfı, iki yeni yöntemleri içerir IsSessionStateReadOnly ve IsSessionStateRequired, zaman uyumsuz işlemleri desteklemek için kullanılabilir.In addition, the SessionStateUtility class includes two new methods, IsSessionStateReadOnly and IsSessionStateRequired, that can be used to support asynchronous operations.

Çıkış önbelleği sağlayıcıları için zaman uyumsuz desteğiAsync support for output-cache providers

İle başlayarak .NET Framework 4.6.2.NET Framework 4.6.2, görev döndürme-yöntemleri zaman uyumsuz ölçeklenebilirlik avantajlarını sağlayacak çıkış önbelleği sağlayıcıları ile kullanılabilir.Starting with the .NET Framework 4.6.2.NET Framework 4.6.2, task-returning methods can be used with output-cache providers to provide the scalability benefits of async. Bu yöntemleri uygulayan sağlayıcılar bir web sunucusu üzerinde iş parçacığı engellemelerini azaltmak ve ASP.NET hizmeti ölçeklenebilirliği artırmak.Providers that implement these methods reduce thread-blocking on a web server and improve the scalability of an ASP.NET service.

Zaman uyumsuz çıkış önbelleği sağlayıcıları desteklemek için aşağıdaki API'ler eklenmiştir:The following APIs have been added to support asynchronous output-cache providers:

Karakter kategorileriCharacter categories

İçindeki karakterleri .NET Framework 4.6.2.NET Framework 4.6.2 göre sınıflandırılır Unicode standart, sürüm 8.0.0.Characters in the .NET Framework 4.6.2.NET Framework 4.6.2 are classified based on the Unicode Standard, Version 8.0.0. İçinde .NET Framework 4.6.NET Framework 4.6 ve .NET Framework 4.6.1.NET Framework 4.6.1, karakter sınıflandırılmış 6.3 Unicode karakter kategorisine göre.In .NET Framework 4.6.NET Framework 4.6 and .NET Framework 4.6.1.NET Framework 4.6.1, characters were classified based on Unicode 6.3 character categories.

Unicode 8.0 için destek sınırlıdır karakterleriyle sınıflandırmasını CharUnicodeInfo sınıfı ve türleri ve yöntemleri, kullanan üzerinde.Support for Unicode 8.0 is limited to the classification of characters by the CharUnicodeInfo class and to types and methods that rely on it. Bunlar StringInfo sınıfı, aşırı yüklenmiş Char.GetUnicodeCategory yöntemi ve karakter sınıfları .NET Framework normal ifade altyapısı tarafından tanınmıyor.These include the StringInfo class, the overloaded Char.GetUnicodeCategory method, and the character classes recognized by the .NET Framework regular expression engine. Karakter ve dize karşılaştırma ve sıralama bu değişiklikten etkilenmez ve temel işletim sisteminde veya Windows 7 sistemlerinde, .NET Framework tarafından sağlanan karakter verileri yararlanmaya devam eder.Character and string comparison and sorting is unaffected by this change and continues to rely on the underlying operating system or, on Windows 7 systems, on character data provided by the .NET Framework.

Unicode 6.0 karakter kategorilerden Unicode 7.0 değişiklikler için bkz: Unicode standart, sürüm 7.0.0 Unicode Konsorsiyumu Web sitesindeki.For changes in character categories from Unicode 6.0 to Unicode 7.0, see The Unicode Standard, Version 7.0.0 at The Unicode Consortium website. Değişiklikler için Unicode 7.0 Unicode 8.0 için bkz: Unicode standart, sürüm 8.0.0 Unicode Konsorsiyumu Web sitesindeki.For changes from Unicode 7.0 to Unicode 8.0, see The Unicode Standard, Version 8.0.0 at The Unicode Consortium website.

ŞifrelemeCryptography

X509 desteği içeren FIPS 186 3 DSA sertifikalarıSupport for X509 certificates containing FIPS 186-3 DSA

.NET Framework 4.6.2.NET Framework 4.6.2 DSA (dijital imza algoritması) X509, anahtarları FIPS 186 2 1024 bit sınırı aşan sertifikalar için destek ekler.The .NET Framework 4.6.2.NET Framework 4.6.2 adds support for DSA (Digital Signature Algorithm) X509 certificates whose keys exceed the FIPS 186-2 1024-bit limit.

Daha büyük anahtar boyutları FIPS 186-3 ' ü destekleyen yanı sıra .NET Framework 4.6.2.NET Framework 4.6.2 (SHA256, SHA384 ve SHA512) karma algoritması SHA-2 ailesini imzalarla bilgi işlem sağlar.In addition to supporting the larger key sizes of FIPS 186-3, the .NET Framework 4.6.2.NET Framework 4.6.2 allows computing signatures with the SHA-2 family of hash algorithms (SHA256, SHA384, and SHA512). FIPS 186 3 desteği sağlanır yeni tarafından System.Security.Cryptography.DSACng sınıfı.FIPS 186-3 support is provided by the new System.Security.Cryptography.DSACng class.

Yakın zamanda yapılan değişiklikler mantığıyla RSA .NET Framework 4.6 sınıfında ve ECDsa .NET Framework 4.6.1, sınıfında DSA soyut taban sınıf içinde .NET Framework 4.6.2.NET Framework 4.6.2 bunu kullanmak arayanlara izin vermek için ek yöntemleri vardır atama olmadan işlevselliği.In keeping with recent changes to the RSA class in the .NET Framework 4.6 and the ECDsa class in the .NET Framework 4.6.1, the DSA abstract base class in .NET Framework 4.6.2.NET Framework 4.6.2 has additional methods to allow callers to use this functionality without casting. Çağırabilirsiniz DSACertificateExtensions.GetDSAPrivateKey aşağıdaki örnekte gösterildiği gibi verileri imzalamak için genişletme yöntemi.You can call the DSACertificateExtensions.GetDSAPrivateKey extension method to sign data, as the following example shows.

public static byte[] SignDataDsaSha384(byte[] data, X509Certificate2 cert)
{
    using (DSA dsa = cert.GetDSAPrivateKey())
    {
        return dsa.SignData(data, HashAlgorithmName.SHA384);
    }
}
Public Shared Function SignDataDsaSha384(data As Byte(), cert As X509Certificate2) As Byte()
    Using DSA As DSA = cert.GetDSAPrivateKey()
        Return DSA.SignData(data, HashAlgorithmName.SHA384)
    End Using
End Function

Çağırabilirsiniz DSACertificateExtensions.GetDSAPublicKey genişletme yöntemi aşağıdaki örnekte gösterildiği gibi imzalı verileri doğrulayın.And you can call the DSACertificateExtensions.GetDSAPublicKey extension method to verify signed data, as the following example shows.

public static bool VerifyDataDsaSha384(byte[] data, byte[] signature, X509Certificate2 cert)
{
    using (DSA dsa = cert.GetDSAPublicKey())
    {
        return dsa.VerifyData(data, signature, HashAlgorithmName.SHA384);
    }
}
 Public Shared Function VerifyDataDsaSha384(data As Byte(), signature As Byte(), cert As X509Certificate2) As Boolean
    Using dsa As DSA = cert.GetDSAPublicKey()
        Return dsa.VerifyData(data, signature, HashAlgorithmName.SHA384)
    End Using
End Function

Artan daha anlaşılır olması için ECDiffieHellman anahtar türetme yordamları girişleriIncreased clarity for inputs to ECDiffieHellman key derivation routines

.NET Framework 3.5 ile üç farklı anahtar türetme işlevi (KDF) yordamları Ellipic Eğri Diffie-Hellman anahtar anlaşması için destek eklendi.The .NET Framework 3.5 added support for Ellipic Curve Diffie-Hellman Key Agreement with three different Key Derivation Function (KDF) routines. Yordamlar ve yordamları kendileri girişleri özellikleri yapılandırılmışsa ECDiffieHellmanCng nesnesi.The inputs to the routines, and the routines themselves, were configured via properties on the ECDiffieHellmanCng object. Ancak her yordam her giriş özelliği okuma olduğundan, Karışıklığı önlemek için geçmiş üzerinde geliştiricinin geniş oda vardı.But since not every routine read every input property, there was ample room for confusion on the past of the developer.

Bu adres için .NET Framework 4.6.2.NET Framework 4.6.2, aşağıdaki üç yöntemi için eklenene ECDiffieHellman temel sınıfı daha net bir şekilde bu KDF yordamları ve bunların girişleri göstermek için:To address this in the .NET Framework 4.6.2.NET Framework 4.6.2, the following three methods have been added to the ECDiffieHellman base class to more clearly represent these KDF routines and their inputs:

ECDiffieHellman yöntemiECDiffieHellman method AçıklamaDescription
DeriveKeyFromHash(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[]) Formül kullanılarak anahtar malzemesi türetilenDerives key material using the formula

KARMA (secretPrepend | | x | | secretAppend)HASH(secretPrepend || x || secretAppend)

KARMA (secretPrepend OrElse x OrElse secretAppend)HASH(secretPrepend OrElse x OrElse secretAppend)

Burada x hesaplanan EC Diffie-Hellman algoritması sonucudur.where x is the computed result of the EC Diffie-Hellman algorithm.
DeriveKeyFromHmac(ECDiffieHellmanPublicKey, HashAlgorithmName, Byte[], Byte[], Byte[]) Formül kullanılarak anahtar malzemesi türetilenDerives key material using the formula

HMAC (hmacKey, secretPrepend | | x | | secretAppend)HMAC(hmacKey, secretPrepend || x || secretAppend)

HMAC (hmacKey, secretPrepend OrElse x OrElse secretAppend)HMAC(hmacKey, secretPrepend OrElse x OrElse secretAppend)

Burada x hesaplanan EC Diffie-Hellman algoritması sonucudur.where x is the computed result of the EC Diffie-Hellman algorithm.
DeriveKeyTls(ECDiffieHellmanPublicKey, Byte[], Byte[]) TLS sözde rastgele işlevi (PRF) türetme algoritmasını kullanarak anahtar malzemesi türer.Derives key material using the TLS pseudo-random function (PRF) derivation algorithm.

Kalıcı anahtarı simetrik şifreleme desteğiSupport for persisted-key symmetric encryption

Windows şifreleme Kitaplığı'nı (CNG) kalıcı simetrik anahtarları depolamak için destek eklendi ve donanım depolanan simetrik anahtarları kullanma ve .NET Framework 4.6.2.NET Framework 4.6.2 mades yapmak, geliştiriciler için mümkün bu özelliği kullanın.The Windows cryptography library (CNG) added support for storing persisted symmetric keys and using hardware-stored symmetric keys, and the .NET Framework 4.6.2.NET Framework 4.6.2 mades it possible for developers to make use of this feature. Anahtar adları ve anahtar sağlayıcıları kavramı uygulamaya özel olduğundan, bu özelliği kullanmak için tercih edilen Fabrika yaklaşım yerine somut uygulama türleri Oluşturucusu kullanılarak gerektirir (arama gibi Aes.Create).Since the notion of key names and key providers is implementation-specific, using this feature requires utilizing the constructor of the concrete implementation types instead of the preferred factory approach (such as calling Aes.Create).

Kalıcı anahtarı simetrik şifreleme desteği için AES var (AesCng) ve 3DES (TripleDESCng) algoritmaları.Persisted-key symmetric encryption support exists for the AES (AesCng) and 3DES (TripleDESCng) algorithms. Örneğin:For example:

public static byte[] EncryptDataWithPersistedKey(byte[] data, byte[] iv)
{
    using (Aes aes = new AesCng("AesDemoKey", CngProvider.MicrosoftSoftwareKeyStorageProvider))
    {
        aes.IV = iv;

        // Using the zero-argument overload is required to make use of the persisted key
        using (ICryptoTransform encryptor = aes.CreateEncryptor())
        {
            if (!encryptor.CanTransformMultipleBlocks)
            {
                throw new InvalidOperationException("This is a sample, this case wasn’t handled...");
            }

            return encryptor.TransformFinalBlock(data, 0, data.Length);
        }
    }
}
Public Shared Function EncryptDataWithPersistedKey(data As Byte(), iv As Byte()) As Byte()
    Using Aes As Aes = New AesCng("AesDemoKey", CngProvider.MicrosoftSoftwareKeyStorageProvider)
        Aes.IV = iv

        ' Using the zero-argument overload Is required to make use of the persisted key
        Using encryptor As ICryptoTransform = Aes.CreateEncryptor()
            If Not encryptor.CanTransformMultipleBlocks Then
                Throw New InvalidOperationException("This is a sample, this case wasn’t handled...")
            End If
            Return encryptor.TransformFinalBlock(data, 0, data.Length)
        End Using
    End Using
End Function

SHA-2 karma SignedXml desteğiSignedXml support for SHA-2 hashing

.NET Framework 4.6.2.NET Framework 4.6.2 İçin destek ekler SignedXml Özet algoritmaları RSA SHA256, RSA SHA384 ve SHA512 RSA PKCS #1 imza yöntemleri ve SHA256, SHA384 ve SHA512 başvurusu için sınıf.The .NET Framework 4.6.2.NET Framework 4.6.2 adds support to the SignedXml class for RSA-SHA256, RSA-SHA384, and RSA-SHA512 PKCS#1 signature methods, and SHA256, SHA384, and SHA512 reference digest algorithms.

URI sabitleri tüm üzerinde gösterilen SignedXml:The URI constants are all exposed on SignedXml:

SignedXml alanSignedXml field SabitConstant
XmlDsigSHA256Url "http://www.w3.org/2001/04/xmlenc#sha256""http://www.w3.org/2001/04/xmlenc#sha256"
XmlDsigRSASHA256Url "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256""http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"
XmlDsigSHA384Url "http://www.w3.org/2001/04/xmldsig-more#sha384""http://www.w3.org/2001/04/xmldsig-more#sha384"
XmlDsigRSASHA384Url "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384""http://www.w3.org/2001/04/xmldsig-more#rsa-sha384"
XmlDsigSHA512Url "http://www.w3.org/2001/04/xmlenc#sha512""http://www.w3.org/2001/04/xmlenc#sha512"
XmlDsigRSASHA512Url "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512""http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"

Özel bir kayıtlı tüm programları SignatureDescription işleyicisi içine CryptoConfig Bu algoritmalar geçmişte oldu, ancak şimdi olduğundan platform varsayılan olarak, çalışmaya devam edecek desteği eklemek için CryptoConfig kayıt artık değil gerekli.Any programs that have registered a custom SignatureDescription handler into CryptoConfig to add support for these algorithms will continue to function as they did in the past, but since there are now platform defaults, the CryptoConfig registration is no longer necessary.

SqlClientSqlClient

SQL Server için .NET framework veri sağlayıcısı (System.Data.SqlClient) yer alan aşağıdaki yeni özellikler içerir .NET Framework 4.6.2.NET Framework 4.6.2:.NET Framework Data Provider for SQL Server (System.Data.SqlClient) includes the following new features in the .NET Framework 4.6.2.NET Framework 4.6.2:

Bağlantı havuzu ve Azure SQL veritabanları ile zaman aşımlarıConnection pooling and timeouts with Azure SQL databases

Ne zaman bağlantı havuzu etkinleştirilir ve bir zaman aşımı veya diğer oturum açma hatası oluşur bir özel durum önbelleğe alınır ve üzerinde sonraki bağlantı girişimleri sonraki 5 saniye ile 1 dakika için önbelleğe alınan özel durum oluşur.When connection pooling is enabled and a timeout or other login error occurs, an exception is cached, and the cached exception is thrown on any subsequent connection attempt for the next 5 seconds to 1 minute. Daha fazla ayrıntı için bkz: SQL Server bağlantı havuzu (ADO.NET).For more details, see SQL Server Connection Pooling (ADO.NET).

Bu davranış, genellikle hızlı bir şekilde kurtarılmasını geçici hataları ile bağlantı girişimleri başarısız olabilir beri Azure SQL veritabanları için bağlanırken arzu değil.This behavior is not desirable when connecting to Azure SQL Databases, since connection attempts can fail with transient errors that are typically recovered quickly. Daha iyi bağlantı yeniden deneme deneyimi, Azure SQL veritabanı bağlantıları başarısız olduğunda davranışı kaldırılır bağlantı havuzu engelleme süresini iyileştirin.To better optimize the connection retry experience, the connection pool blocking period behavior is removed when connections to Azure SQL Databases fail.

Yeni eklenen PoolBlockingPeriod anahtar sözcüğü uygulamanız için en uygun engelleme süresi seçmenize olanak sağlar.The addition of the new PoolBlockingPeriod keyword lets you to select the blocking period best suited for your app. Değerler şunlardır:Values include:

Auto Bir Azure SQL veritabanına bağlanan bir uygulama için süresi engelleme bağlantı havuzu devre dışı bırakılır ve başka bir SQL Server örneğine bağlanan bir uygulama için süresi engelleme bağlantı havuzu etkindir.Auto The connection pool blocking period for an application that connects to an Azure SQL Database is disabled, and the connection pool blocking period for an application that connects to any other SQL Server instance is enabled. Varsayılan değer budur.This is the default value. Sunucu uç nokta adı aşağıdakilerden herhangi birini ile sona ererse, Azure SQL veritabanları değerlendirilir:If the Server endpoint name ends with any of the following, they are considered Azure SQL Databases:

  • .database.windows.net.database.windows.net

  • .database.chinacloudapi.cn.database.chinacloudapi.cn

  • .database.usgovcloudapi.net.database.usgovcloudapi.net

  • .database.cloudapi.de.database.cloudapi.de

AlwaysBlock Bağlantı havuzu engelleme süresi her zaman etkindir.AlwaysBlock The connection pool blocking period is always enabled.

NeverBlock Bağlantı havuzu engelleme süresi her zaman devre dışı bırakılır.NeverBlock The connection pool blocking period is always disabled.

Geliştirmeler her zaman şifreli içinEnhancements for Always Encrypted

SQLClient her zaman şifreli için iki geliştirmeleri sunar:SQLClient introduces two enhancements for Always Encrypted:

  • Şifrelenmiş veritabanı sütunlarını parametreleştirilmiş sorguları performansını artırmak için sorgu parametreleri için şifreleme meta verileri artık önbelleğe alınır.To improve performance of parameterized queries against encrypted database columns, encryption metadata for query parameters is now cached. İle SqlConnection.ColumnEncryptionQueryMetadataCacheEnabled özelliğini true (varsayılan değer olan), aynı sorgu birden çok kez çağrılırsa, istemci parametre meta verilerini sunucudan yalnızca bir kez alır.With the SqlConnection.ColumnEncryptionQueryMetadataCacheEnabled property set to true (which is the default value), if the same query is called multiple times, the client retrieves parameter metadata from the server only once.

  • Sütun şifreleme anahtarı girişleri anahtar önbelleğinde şimdi kullanılarak ayarlanan bir yapılandırılabilir zaman aralığından sonra çıkarılacak SqlConnection.ColumnEncryptionKeyCacheTtl özelliği.Column encryption key entries in the key cache are now evicted after a configurable time interval, set using the SqlConnection.ColumnEncryptionKeyCacheTtl property.

Windows Communication FoundationWindows Communication Foundation

İçinde .NET Framework 4.6.2.NET Framework 4.6.2, Windows Communication Foundation aşağıdaki alanlarda geliştirilmiştir:In the .NET Framework 4.6.2.NET Framework 4.6.2, Windows Communication Foundation has been enhanced in the following areas:

CNG kullanarak depolanan sertifikalar için WCF Aktarım güvenlik desteğiWCF transport security support for certificates stored using CNG

WCF taşıma güvenliği Windows şifreleme Kitaplığı'nı (CNG) kullanarak depolanan sertifikalar destekler.WCF transport security supports certificates stored using the Windows cryptography library (CNG). İçinde .NET Framework 4.6.2.NET Framework 4.6.2, bu destek üs en fazla 32 bit uzunlukta bir ortak anahtar sertifikaları kullanarak sınırlıdır.In the .NET Framework 4.6.2.NET Framework 4.6.2, this support is limited to using certificates with a public key that has an exponent no more than 32 bits in length. Bir uygulama hedefleri zaman .NET Framework 4.6.2.NET Framework 4.6.2, bu özellik varsayılan olarak açıktır.When an application targets the .NET Framework 4.6.2.NET Framework 4.6.2, this feature is on by default.

Hedef uygulamalar için .NET Framework 4.6.1.NET Framework 4.6.1 ve önceki ancak üzerinde çalışan .NET Framework 4.6.2.NET Framework 4.6.2, bu özellik, aşağıdaki satırı ekleyerek etkinleştirilebilir <çalışma zamanı > app.config veya web.config Bölümü dosya.For applications that target the .NET Framework 4.6.1.NET Framework 4.6.1 and earlier but are running on the .NET Framework 4.6.2.NET Framework 4.6.2, this feature can be enabled by adding the following line to the <runtime> section of the app.config or web.config file.

<AppContextSwitchOverrides
    value="Switch.System.ServiceModel.DisableCngCertificates=false"
/>

Bu ayrıca programlı olarak aşağıdaki gibi kod ile yapılabilir:This can also be done programmatically with code like the following:

private const string DisableCngCertificates = @"Switch.System.ServiceModel.DisableCngCertificates";
AppContext.SetSwitch(disableCngCertificates, false);
Const DisableCngCertificates As String = "Switch.System.ServiceModel.DisableCngCertificates"
AppContext.SetSwitch(disableCngCertificates, False)

DataContractJsonSerializer sınıfı tarafından birden çok gün ışığından yararlanma saati ayarlama kuralları için daha iyi destekBetter support for multiple daylight saving time adjustment rules by the DataContractJsonSerializer class

Müşterilerin bir uygulama yapılandırma ayarı belirlemek için kullanabileceğiniz olup olmadığını DataContractJsonSerializer sınıfı için tek bir saat dilimi birden çok ayarlama kuralları destekler.Customers can use an application configuration setting to determine whether the DataContractJsonSerializer class supports multiple adjustment rules for a single time zone. Bu bir katılımı özelliğidir.This is an opt-in feature. Etkinleştirmek için app.config dosyasına aşağıdaki ayarı ekleyin:To enable it, add the following setting to your app.config file:

<runtime>
     <AppContextSwitchOverrides value="Switch.System.Runtime.Serialization.DoNotUseTimeZoneInfo=false" />
</runtime>

Bu özellik etkinleştirildiğinde, bir DataContractJsonSerializer nesne kullanır TimeZoneInfo yerine tür TimeZone tarih ve saat verilerini seri durumdan çıkarılacak türü.When this feature is enabled, a DataContractJsonSerializer object uses the TimeZoneInfo type instead of the TimeZone type to deserialize date and time data. TimeZoneInfo birden çok ayarlama kuralları, geçmiş saat dilimi verilerle çalışmak mümkün destekler; TimeZone desteklemez.TimeZoneInfo supports multiple adjustment rules, which makes it possible to work with historic time zone data; TimeZone does not.

Daha fazla bilgi için TimeZoneInfo yapısı ve saat dilimi düzeltmeleri, bkz: saat dilimine genel bakış.For more information on the TimeZoneInfo structure and time zone adjustments, see Time Zone Overview.

NetNamedPipeBinding en iyi eşleşmeNetNamedPipeBinding best match

WCF istemci uygulamaları her zaman en iyi şekilde istediklerinde bir eşleşen URI üzerinde dinleme hizmeti bağlandıkları emin olmak için ayarlanabilen yeni bir uygulama ayarı vardır.WCF has a new app setting that can be set on client applications to ensure they always connect to the service listening on the URI that best matches the one that they request. Ayarlamak bu uygulama ayarı ile false (varsayılan) kullanan istemciler için olası NetNamedPipeBinding istenen URI'yi bir dizenin bir URI üzerinde dinleme bir hizmete bağlanmak için.With this app setting set to false (the default), it is possible for clients using NetNamedPipeBinding to attempt to connect to a service listening on a URI that is a substring of the requested URI.

Örneğin, bir istemci bir hizmet adresinde dinlemede için bağlanmaya net.pipe://localhost/Service1, ancak bu makinede yönetici ayrıcalığıyla çalıştıran farklı bir hizmet adresinde dinlemede net.pipe://localhost.For example, a client tries to connect to a service listening at net.pipe://localhost/Service1, but a different service on that machine running with administrator privilege is listening at net.pipe://localhost. Ayarlamak bu uygulama ayarı ile false, istemci yanlış hizmete bağlanma girişiminde.With this app setting set to false, the client would attempt to connect to the wrong service. Uygulama ayarı ayarını sonra true, istemci her zaman en iyi hizmet eşleşen bağlanır.After setting the app setting to true, the client will always connect to the best matching service.

Not

Kullanan istemciler NetNamedPipeBinding Hizmetleri (varsa) yerine tam uç noktası adresi hizmetin taban adresine göre bulur.Clients using NetNamedPipeBinding find services based on the service's base address (if it exists) rather than the full endpoint address. Bu her zaman çalışır hizmet ayarı emin olmak için benzersiz bir taban adresi kullanmanız gerekir.To ensure this setting always works the service should use a unique base address.

Bu değişikliği etkinleştirmek için aşağıdaki uygulama ayarı, istemci uygulamanızın App.config veya Web.config dosyasına ekleyin:To enable this change, add the following app setting to your client application's App.config or Web.config file:

<configuration>
    <appSettings>
        <add key="wcf:useBestMatchNamedPipeUri" value="true" />
    </appSettings>
</configuration>

SSL 3.0 varsayılan protokolü değilSSL 3.0 is not a default protocol

NetTcp taşıma güvenliği ve sertifika bir kimlik bilgisi türü ile kullanırken, SSL 3.0 artık güvenli bağlantı anlaşması için kullanılan bir varsayılan kuralıdır.When using NetTcp with transport security and a credential type of certificate, SSL 3.0 is no longer a default protocol used for negotiating a secure connection. Çoğu durumda olması gerekir etkisi olan mevcut uygulamalar için TLS 1.0 için NetTcp protokol listesinde yer aldığından.In most cases, there should be no impact to existing apps, because TLS 1.0 is included in the protocol list for NetTcp. Tüm mevcut istemcilerin kullanarak bir bağlantı anlaşması gerekir en az TLS 1.0.All existing clients should be able to negotiate a connection using at least TLS 1.0. Ssl3 gerekiyorsa, aşağıdaki yapılandırma mekanizmalardan biri üzerinde anlaşılan protokolleri listesine eklemek için kullanın.If Ssl3 is required, use one of the following configuration mechanisms to add it to the list of negotiated protocols.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

İçinde .NET Framework 4.6.2.NET Framework 4.6.2, Windows Presentation Foundation aşağıdaki alanlarda geliştirilmiştir:In the .NET Framework 4.6.2.NET Framework 4.6.2, Windows Presentation Foundation has been enhanced in the following areas:

Grup sıralamaGroup sorting

Kullanan bir uygulama bir CollectionView verileri gruplandırmak için nesne artık açıkça bildirebilirsiniz grupları sıralama nasıl yapılır.An application that uses a CollectionView object to group data can now explicitly declare how to sort the groups. Açık adresleri sıralama uygulama dinamik olarak ekler veya grupları kaldırır veya gruplandırma söz konusu öğeyi özelliklerinin değeri değiştiğinde sezgisel olmayan sıralama sorun oluşur.Explicit sorting addresses the problem of non-intuitive ordering that occurs when an app dynamically adds or removes groups, or when it changes the value of item properties involved in grouping. Bu ayrıca Grup oluşturma işleminin karşılaştırmaları gruplandırma özelliklerinin tam koleksiyonu sıralama dışında gruplarının sıralamanın taşıyarak performansı artırabilir.It can also improve the performance of the group creation process by moving comparisons of the grouping properties from the sort of the full collection to the sort of the groups.

Grup sıralama, desteklemek için yeni GroupDescription.SortDescriptions ve GroupDescription.CustomSort özellikleri açıklar tarafından üretilen Grup koleksiyonu sıralama GroupDescription nesnesi.To support group sorting, the new GroupDescription.SortDescriptions and GroupDescription.CustomSort properties describe how to sort the collection of groups produced by the GroupDescription object. Bu şekilde aynı adlı paraleldir ListCollectionView özellikleri, veri öğeleri sıralama açıklar.This is analogous to the way the identically named ListCollectionView properties describe how to sort the data items.

İki yeni statik özelliklerini PropertyGroupDescription sınıfı, CompareNameAscending ve CompareNameDescending, en yaygın örnekleri için kullanılabilir.Two new static properties of the PropertyGroupDescription class, CompareNameAscending and CompareNameDescending, can be used for the most common cases.

Örneğin, yaşı, aşağıdaki XAML grupları verilerle yaş grupları artan sırada sıralamak ve her yaş grup içindeki öğeleri son ada göre gruplandırın.For example, the following XAML groups data by age, sort the age groups in ascending order, and group the items within each age group by last name.

<GroupDescriptions>
     <PropertyGroupDescription 
         PropertyName="Age" 
         CustomSort= 
              "{x:Static PropertyGroupDescription.CompareNamesAscending}"/>
     </PropertyGroupDescription>
</GroupDescriptions>

<SortDescriptions>
     <SortDescription PropertyName="LastName"/>
</SortDescriptions>

Yazılım klavye desteğiSoft keyboard support

Otomatik olarak çağırma ve dokunmatik giriş metinsel giriş alabilir bir denetim tarafından alındığında, Windows 10'daki yeni yazılım klavye durdurulduğundan WPF uygulamalarında izleme odak yumuşak klavye desteği sağlar.Soft Keyboard support enables focus tracking in a WPF applications by automatically invoking and dismissing the new Soft Keyboard in Windows 10 when the touch input is received by a control that can take textual input.

.NET Framework önceki sürümlerde, WPF kalem/touch hareketi desteğini devre dışı bırakmadan izleme odağa WPF uygulamaları ni kaldıramaz.In previous versions of the .NET Framework, WPF applications cannot opt into the focus tracking without disabling WPF pen/touch gesture support. Sonuç olarak, WPF uygulamalar arasında tam WPF dokunma desteği seçin veya bu üzerinde Windows fare yükseltme kullanan gerekir.As a result, WPF applications must choose between full WPF touch support or rely on Windows mouse promotion.

İzleyici başına DPIPer-monitor DPI

Yüksek DPI ve karma DPI ortamlar son artışı WPF uygulamaları, WPF içinde desteklemek için .NET Framework 4.6.2.NET Framework 4.6.2 İzleyici başına farkındalık sağlar.To support the recent proliferation of high-DPI and hybrid-DPI environments for WPF apps, WPF in the .NET Framework 4.6.2.NET Framework 4.6.2 enables per-monitor awareness. Bkz: örnekleri ve Geliştirici Kılavuzu İzleyici başına DPI farkında olmasını WPF uygulamanızı etkinleştirme hakkında daha fazla bilgi için GitHub üzerinde.See the samples and developer guide on GitHub for more information about how to enable your WPF app to become per-monitor DPI aware.

.NET Framework önceki sürümlerinde, WPF sistem DPI kullanan uygulamalardır.In previous versions of the .NET Framework, WPF apps are system-DPI aware. Diğer bir deyişle, uygulamanın kullanıcı Arabirimi OS uygulama işlenen İzleyici DPI bağlı olarak uygun şekilde ölçeklendirilir.In other words, the application's UI is scaled by the OS as appropriate, depending on the DPI of the monitor on which the app is rendered. ,,

Altında çalışan uygulamalar için .NET Framework 4.6.2.NET Framework 4.6.2, bir yapılandırma deyimine ekleyerek WPF uygulamalarında İzleyici başına DPI değişiklikleri devre dışı bırakabilirsiniz <çalışma zamanı > uygulama yapılandırmanızı bölümünü dosyasında, aşağıdaki gibi:For apps running under the .NET Framework 4.6.2.NET Framework 4.6.2, you can disable per-monitor DPI changes in WPF apps by adding a configuration statement to the <runtime> section of your application configuration file, as follows:

<runtime>
   <AppContextSwitchOverrides value="Switch.System.Windows.DoNotScaleForDpiChanges=false"/>
</runtime>

Windows Workflow Foundation (WF)Windows Workflow Foundation (WF)

İçinde .NET Framework 4.6.2.NET Framework 4.6.2, Windows Workflow Foundation aşağıdaki alanında geliştirilmiştir:In the .NET Framework 4.6.2.NET Framework 4.6.2, Windows Workflow Foundation has been enhanced in the following area:

C# ifadeleri ve Re-hosted WF Tasarımcısı'nda IntelliSense desteğiSupport for C# expressions and IntelliSense in the Re-hosted WF Designer

İle başlayarak .NET Framework 4.5.NET Framework 4.5, WF hem bir Visual Studio Tasarımcısı'nda ve kod iş akışlarında C# ifadeleri destekler.Starting with the .NET Framework 4.5.NET Framework 4.5, WF supports C# expressions in both the Visual Studio Designer and in code workflows. Re-hosted iş akışı Tasarımcısı Visual Studio'da (örneğin, WPF) dışında bir uygulamada olması iş akışı Tasarımcısı izin veren WF anahtar özelliğidir.The Re-hosted Workflow Designer is a key feature of WF that allows for the Workflow Designer to be in an application outside Visual Studio (for example, in WPF). Windows Workflow Foundation C# ifadeleri ve IntelliSense Re-hosted iş akışı Tasarımcısı'nda destekleme özelliği sağlar.Windows Workflow Foundation provides the ability to support C# expressions and IntelliSense in the Re-hosted Workflow Designer. Daha fazla bilgi için bkz: Windows Workflow Foundation blog.For more information, see the Windows Workflow Foundation blog.

Availability of IntelliSense when a customer rebuilds a workflow project from Visual Studio .NET Framework'den önceki sürümlerinde .NET Framework 4.6.2.NET Framework 4.6.2, WF Tasarımcısı IntelliSense olduğunda kopuk bir müşteri bir Visual Studio iş akışı projesinde yeniden oluşturur.Availability of IntelliSense when a customer rebuilds a workflow project from Visual Studio In versions of the .NET Framework prior to the .NET Framework 4.6.2.NET Framework 4.6.2, WF Designer IntelliSense is broken when a customer rebuilds a workflow project from Visual Studio. Proje oluşturma işlemi başarılı olur, iş akışı türlerini designer'ı bulunamadı ve eksik iş akışı türü için IntelliSense gelen uyarılar görüntülenir hata listesi penceresi.While the project build is successful, the workflow types are not found on the designer, and warnings from IntelliSense for the missing workflow types appear in the Error List window. .NET Framework 4.6.2.NET Framework 4.6.2 Bu sorunu giderir ve IntelliSense kullanılabilir hale getirir.The .NET Framework 4.6.2.NET Framework 4.6.2 addresses this issue and makes IntelliSense available.

Şimdi iş akışı izleme ile iş akışı V1 uygulamaları FIPS modunda çalıştırWorkflow V1 applications with Workflow Tracking on now run under FIPS-mode

FIPS uyumluluk modu etkin olan makineleri şimdi başarılı bir şekilde bir iş akışı sürüm 1 stili uygulama iş akışı ile izleme çalıştırabilirsiniz.Machines with FIPS Compliance Mode enabled can now successfully run a workflow Version 1-style application with Workflow tracking on. Bu senaryoyu etkinleştirmek için app.config dosyasına aşağıdaki değişiklik yapmanız gerekir:To enable this scenario, you must make the following change to your app.config file:

<add key="microsoft:WorkflowRuntime:FIPSRequired" value="true" />

Bu senaryo etkin değilse uygulama çalıştıran bir özel durum iletisi oluşturmak devam eder "Bu uygulama Windows parçası olmayan Platform FIPS şifreleme algoritmaları doğrulandı."If this scenario is not enabled, running the application continues to generate an exception with the message, "This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms."

Dinamik güncelleştirme ile Visual Studio iş akışı Tasarımcısı kullanarak iş akışı geliştirmeleriWorkflow Improvements when using Dynamic Update with Visual Studio Workflow Designer

İş Akışı Tasarımcısı, akış çizelgesi etkinlik Tasarımcısı ve diğer iş akışı etkinlik tasarımcıları şimdi başarıyla yüklemek ve çağrıldıktan sonra kaydedilmiş iş akışları görüntülemek DynamicUpdateServices.PrepareForUpdate yöntemi.The Workflow Designer, FlowChart Activity Designer, and other Workflow Activity Designers now successfully load and display workflows that have been saved after calling the DynamicUpdateServices.PrepareForUpdate method. Önce .NET Framework sürümlerinde .NET Framework 4.6.2.NET Framework 4.6.2, çağrıldıktan sonra kaydedilmiş bir iş akışı için Visual Studio'da XAML dosyası yüklenirken DynamicUpdateServices.PrepareForUpdate aşağıdaki sorunlar oluşabilir:In versions of the .NET Framework before the .NET Framework 4.6.2.NET Framework 4.6.2, loading a XAML file in Visual Studio for a workflow that has been saved after calling DynamicUpdateServices.PrepareForUpdate can result in the following issues:

  • İş akışı XAML dosyasını doğru tasarımcının yükleyemeyeceği (zaman ViewStateData.Id satırın sonunda olup).The Workflow Designer can't load the XAML file correctly (when the ViewStateData.Id is at the end of the line).

  • Akış Çizelgesi etkinlik Tasarımcısı veya diğer iş akışı etkinlik tasarımcıları tüm nesnelerin varsayılan konumlarına ekli özellik değerlerini aksine görüntüleyebilir.Flowchart Activity Designer or other Workflow Activity Designers may display all objects in their default locations as opposed to attached property values.

ClickOnceClickOnce

ClickOnce zaten desteklediği 1.0 protokolü ek olarak, TLS 1.1 ve TLS 1.2 desteklemek için güncelleştirildi.ClickOnce has been updated to support TLS 1.1 and TLS 1.2 in addition to the 1.0 protocol, which it already supports. ClickOnce otomatik olarak hangi protokolünün gerekli olduğunu algılar; TLS 1.1 ve 1.2 desteğini etkinleştirmek için ClickOnce uygulamasında hiçbir ek adımlar gereklidir.ClickOnce automatically detects which protocol is required; no extra steps within the ClickOnce application are required to enable TLS 1.1 and 1.2 support.

Windows Forms ve WPF uygulamaları UWP uygulamaları için dönüştürmeConverting Windows Forms and WPF apps to UWP apps

Windows şimdi WPF ve Windows Forms uygulamaları, Evrensel Windows Platformu (UWP) için de dahil olmak üzere mevcut Windows Masaüstü uygulamaları getirmek için özellikleri sunar.Windows now offers capabilities to bring existing Windows desktop apps, including WPF and Windows Forms apps, to the Universal Windows Platform (UWP). Bu teknoloji, mevcut kodunuzu temel UWP, böylece uygulamanız tüm Windows 10 cihazlarına getiren kademeli olarak geçiş olanak tanıyarak köprü olarak davranır.This technology acts as a bridge by enabling you to gradually migrate your existing code base to UWP, thereby bringing your app to all Windows 10 devices.

Dönüştürülen Masaüstü uygulamaları UWP API'leri Canlı kutucukları ve bildirimler gibi özellikleri etkinleştirmek için erişilebilir hale getirir UWP uygulamaları, uygulama kimliğini benzer bir uygulama kimliğini elde edilir.Converted desktop apps gain an app identity similar to the app identity of UWP apps, which makes UWP APIs accessible to enable features such as Live Tiles and notifications. Uygulama önceden olduğu gibi davranacak şekilde devam eder ve bir tam güven uygulama olarak çalışır.The app continues to behave as before and runs as a full trust app. Uygulama dönüştürüldükten sonra bir uygulama kapsayıcı işlemini uyarlanabilir bir kullanıcı arabirimi eklemek için var olan tam güven işlemi eklenebilir.Once the app is converted, an app container process can be added to the existing full trust process to add an adaptive user interface. Tüm işlevlere uygulama kapsayıcı işleme taşındığında, tam güven işlemi kaldırıldı ve yeni UWP uygulaması tüm Windows 10 cihazlar için kullanılabilir hale getirilebilir.When all functionality is moved to the app container process, the full trust process can be removed and the new UWP app can be made available to all Windows 10 devices.

Hata ayıklama iyileştirmeleriDebugging improvements

Hata ayıklama API'si yönetilmeyen içinde geliştirilmiş .NET Framework 4.6.2.NET Framework 4.6.2 ek analizler yapmak için bir NullReferenceException böylece hangi değişkenidir kaynak kodu tek bir satıra belirlemek mümkün durum null.The unmanaged debugging API has been enhanced in the .NET Framework 4.6.2.NET Framework 4.6.2 to perform additional analysis when a NullReferenceException is thrown so that it is possible to determine which variable in a single line of source code is null. Bu senaryoyu desteklemek için aşağıdaki API'leri yönetilmeyen hata ayıklama API'si eklenmiştir.To support this scenario, the following APIs have been added to the unmanaged debugging API.

.NET Framework 4.6.1 yeniliklerWhat's new in the .NET Framework 4.6.1

.NET Framework 4.6.1.NET Framework 4.6.1 Aşağıdaki alanlarda yeni özellikler içerir:The .NET Framework 4.6.1.NET Framework 4.6.1 includes new features in the following areas:

Daha fazla bilgi için .NET Framework 4.6.1.NET Framework 4.6.1, aşağıdaki konulara bakın:For more information on the .NET Framework 4.6.1.NET Framework 4.6.1, see the following topics:

Şifreleme: X509 desteği içeren ECDSA sertifikalarıCryptography: Support for X509 certificates containing ECDSA

.NET Framework 4.6 X509 RSACng desteği eklendi sertifikalar.The .NET Framework 4.6 added RSACng support for X509 certificates. .NET Framework 4.6.1.NET Framework 4.6.1 ECDSA (Eliptik Eğri Dijital imza algoritması) X509 için destek ekler sertifikalar.The .NET Framework 4.6.1.NET Framework 4.6.1 adds support for ECDSA (Elliptic Curve Digital Signature Algorithm) X509 certificates.

ECDSA daha iyi performans sunar ve RSA, Aktarım Katmanı Güvenliği (TLS) performans ve ölçeklenebilirlik olduğu ilgili bir sorun mükemmel bir seçim sağlayarak daha daha güvenli bir şifreleme algoritması.ECDSA offers better performance and is a more secure cryptography algorithm than RSA, providing an excellent choice where Transport Layer Security (TLS) performance and scalability is a concern. .NET Framework uygulamasını var olan Windows işlev çağrılarını sarmalar.The .NET Framework implementation wraps calls into existing Windows functionality.

Aşağıdaki kod örneği X 509 sertifika dahil ECDSA için yeni destek kullanarak bir bayt akış için bir imzayı üretmek için ne kadar kolay olduğunu gösterir .NET Framework 4.6.1.NET Framework 4.6.1.The following example code shows how easy it is to generate a signature for a byte stream by using the new support for ECDSA X509 certificates included in the .NET Framework 4.6.1.NET Framework 4.6.1.

using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

public class Net461Code
{
    public static byte[] SignECDsaSha512(byte[] data, X509Certificate2 cert)
    {
        using (ECDsa privateKey = cert.GetECDsaPrivateKey())
        {
            return privateKey.SignData(data, HashAlgorithmName.SHA512);
        }
    }

    public static byte[] SignECDsaSha512(byte[] data, ECDsa privateKey)
    {
        return privateKey.SignData(data, HashAlgorithmName.SHA512);
    }
}
Imports System
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates

Public Class Net461Code
    Public Shared Function SignECDsaSha512(data As Byte(), cert As X509Certificate2) As Byte()
        Using privateKey As ECDsa = cert.GetECDsaPrivateKey()
            Return privateKey.SignData(data, HashAlgorithmName.SHA512)
        End Using
    End Function

    Public Shared Function SignECDsaSha512(data As Byte, privateKey As ECDsa) As Byte()
        Return privateKey.SignData(data, HashAlgorithmName.SHA512)
    End Function
End Class

Bu .NET Framework 4.6 bir imzayı üretmek için gereken kod için işaretlenen Karşıtlık sağlar.This offers a marked contrast to the code needed to generate a signature in the .NET Framework 4.6.

using System;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

public class Net46Code
{
    public static byte[] SignECDsaSha512(byte[] data, X509Certificate2 cert)
    {
        // This would require using cert.Handle and a series of p/invokes to get at the
        // underlying key, then passing that to a CngKey object, and passing that to
        // new ECDsa(CngKey).  It's a lot of work.
        throw new Exception("That's a lot of work...");
    }

    public static byte[] SignECDsaSha512(byte[] data, ECDsa privateKey)
    {
        // This way works, but SignData probably better matches what you want.
        using (SHA512 hasher = SHA512.Create())
        {
            byte[] signature1 = privateKey.SignHash(hasher.ComputeHash(data));
        }

        // This might not be the ECDsa you got!
        ECDsaCng ecDsaCng = (ECDsaCng)privateKey;
        ecDsaCng.HashAlgorithm = CngAlgorithm.Sha512;
        return ecDsaCng.SignData(data);
    }
}   
Imports System
Imports System.Security.Cryptography
Imports System.Security.Cryptography.X509Certificates

Public Class Net46Code
    Public Shared Function SignECDsaSha512(data As Byte(), cert As X509Certificate2) As Byte()
        ' This would require using cert.Handle and a series of p/invokes to get at the
        ' underlying key, then passing that to a CngKey object, and passing that to
        ' new ECDsa(CngKey).  It's a lot of work.
        Throw New Exception("That's a lot of work...")
    End Function

    Public Shared Function SignECDsaSha512(data As Byte(), privateKey As ECDsa) As Byte()
        ' This way works, but SignData probably better matches what you want.
        Using hasher As SHA512 = SHA512.Create()
            Dim signature1 As Byte() = privateKey.SignHash(hasher.ComputeHash(data))
        End Using

        ' This might not be the ECDsa you got!
        Dim ecDsaCng As ECDsaCng = CType(privateKey, ECDsaCng)
        ecDsaCng.HashAlgorithm = CngAlgorithm.Sha512
        Return ecDsaCng.SignData(data)
    End Function
End Class   

ADO.NETADO.NET

Aşağıdakiler için ADO.NET eklenmiştir:The following have been added to ADO.NET:

Donanım şifreli desteği anahtarları her zaman korunmasıAlways Encrypted support for hardware protected keys

ADO.NET artık depolanmasını her zaman şifreli sütun ana anahtarları yerel olarak donanım güvenlik modülleri (HSM'ler) destekler.ADO.NET now supports storing Always Encrypted column master keys natively in Hardware Security Modules (HSMs). Bu destek sayesinde, müşterilere özel sütun ana anahtar depolama sağlayıcıları yazmak zorunda ve uygulamalarda kaydetme olmadan HSM'ler içinde depolanan asimetrik anahtarlar yararlanabilirsiniz.With this support, customers can leverage asymmetric keys stored in HSMs without having to write custom column master key store providers and registering them in applications.

Müşteriler HSM satıcısı tarafından sağlanan CSP sağlayıcı veya CNG Anahtar depolama sağlayıcıları sütun ana bir HSM'de depolanan anahtarlar ile korunan her zaman şifreli verilere erişebilmesi için uygulama sunucuları veya istemci bilgisayarlara yüklemeniz gerekir.Customers need to install the HSM vendor-provided CSP provider or CNG key store providers on the app servers or client computers in order to access Always Encrypted data protected with column master keys stored in a HSM.

Geliştirilmiş MultiSubnetFailover AlwaysOn bağlantı davranışıImproved MultiSubnetFailover connection behavior for AlwaysOn

SqlClient artık otomatik olarak daha hızlı bağlantıları bir AlwaysOn Kullanılabilirlik Grubu (AG) sağlar.SqlClient now automatically provides faster connections to an AlwaysOn Availability Group (AG). Saydam uygulamanız farklı bir alt ağdaki bir AlwaysOn Kullanılabilirlik Grubu (ağ) bağlanma ve hızlı bir şekilde geçerli etkin sunucunun bulur ve sunucunun bir bağlantı sağlar olup olmadığını algılar.It transparently detects whether your application is connecting to an AlwaysOn availability group (AG) on a different subnet and quickly discovers the current active server and provides a connection to the server. Bu sürümden önce bir uygulama eklemek için bağlantı dizesini ayarlamak gerekiyordu "MultisubnetFailover=true" bir AlwaysOn Kullanılabilirlik grubuna bağlanan belirtmek için.Prior to this release, an application had to set the connection string to include "MultisubnetFailover=true" to indicate that it was connecting to an AlwaysOn Availability Group. Bağlantı anahtar sözcüğü ayarını olmadan true, bir uygulama için bir AlwaysOn Kullanılabilirlik grubu bağlanırken bir zaman aşımı karşılaşabilirsiniz.Without setting the connection keyword to true, an application might experience a timeout while connecting to an AlwaysOn Availability Group. Bu sürümle birlikte, bir uygulama olmadığından değil ayarlamak gereken MultiSubnetFailover için true artık.With this release, an application does not need to set MultiSubnetFailover to true anymore. Always On kullanılabilirlik grupları için SqlClient desteği hakkında daha fazla bilgi için bkz: SqlClient yüksek kullanılabilirlik, olağanüstü durum kurtarma desteği.For more information about SqlClient support for Always On Availability Groups, see SqlClient Support for High Availability, Disaster Recovery.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

Windows Presentation Foundation bir dizi yenilikleri ve değişiklikleri içerir.Windows Presentation Foundation includes a number of improvements and changes.

Geliştirilmiş performansImproved performance

Dokunma olaylarını tetikleme gecikme içinde sabit .NET Framework 4.6.1.NET Framework 4.6.1.The delay in firing touch events has been fixed in the .NET Framework 4.6.1.NET Framework 4.6.1. Ayrıca, yazarak bir RichTextBox denetimi sırasında hızlı giriş artık işleme iş parçacığını bağlar.In addition, typing in a RichTextBox control no longer ties up the render thread during fast input.

Yazım denetimi geliştirmeleriSpell checking improvements

WPF'de yazım denetleyicisi Windows 8.1 güncelleştirildi ve sonraki sürümler için işletim sistemi kullanmak için ek dilleri yazım denetimi destekler.The spell checker in WPF has been updated on Windows 8.1 and later versions to leverage operating system support for spell-checking additional languages. Windows 8.1 ' den önceki Windows sürümleri üzerinde işlevsellikte değişiklik yoktur.There is no change in functionality on Windows versions prior to Windows 8.1.

Dil için .NET Framework'ün önceki sürümlerinde olduğu gibi bir TextBox denetlemek ya RichTextBox blok bilgi aşağıdaki sırayla arayarak algılandı:As in previous versions of the .NET Framework, the language for a TextBox control ora RichTextBox block is detected by looking for information in the following order:

  • xml:lang, mevcut değilse.xml:lang, if it is present.

  • Geçerli giriş dili.Current input language.

  • Geçerli iş parçacığı kültür.Current thread culture.

WPF dil desteği hakkında ek bilgi için bkz: WPF blog gönderisi .NET Framework 4.6.1 özellikleri konusunda.For additional information on language support in WPF, see the WPF blog post on .NET Framework 4.6.1 features.

Kullanıcı başına sözlükler için ek destekAdditional support for per-user custom dictionaries

İçinde .NET Framework 4.6.1.NET Framework 4.6.1, WPF genel kayıtlı özel sözlükler tanır.In .NET Framework 4.6.1.NET Framework 4.6.1, WPF recognizes custom dictionaries that are registered globally. Bu özellik, bunları denetim başına kaydolabilmek ek olarak kullanılabilir.This capability is available in addition to the ability to register them per-control.

WPF önceki sürümlerde, hariç tutulan sözcükler ve Otomatik Düzeltme listeleri özel sözlük tanıyamadı.In previous versions of WPF, custom dictionaries did not recognize Excluded Words and AutoCorrect lists. Bunlar Windows 8.1 ve Windows 10 altına yerleştirilmiş dosyaları kullanımıyla desteklenir %AppData%\Microsoft\Spelling\<language tag> dizin.They are supported on Windows 8.1 and Windows 10 through the use of files that can be placed under the %AppData%\Microsoft\Spelling\<language tag> directory. Bu dosyalar aşağıdaki kurallar geçerli olur:The following rules apply to these files:

  • Dosya Uzantıları (için eklenen sözcükleri) .dic, .exc (için hariç tutulan sözcükler) ya da .acl (için düzeltme) olması gerekir.The files should have extensions of .dic (for added words), .exc (for excluded words), or .acl (for AutoCorrect).

  • Dosyaları bayt sırası işareti (BOM) ile başlayan UTF-16 LE düz metin olmalıdır.The files should be UTF-16 LE plaintext that starts with the Byte Order Mark (BOM).

  • Her satır bir sözcük (Word'ün eklenen ve dışlanan listelerinde) oluşmalıdır veya sözcükleri düzeltme çiftiyle dikey bir çubukla ayrılan ("|") (listedeki düzeltme word).Each line should consist of a word (in the added and excluded word lists), or an autocorrect pair with the words separated by a vertical bar ("|") (in the AutoCorrect word list).

  • Bu dosyalar salt okunur olarak kabul edilir ve sistem tarafından değiştirilemez.These files are considered read-only and are not modified by the system.

Not

Bu yeni dosya biçimleri WPF yazım API'nin denetimi tarafından doğrudan desteklenmeyen ve uygulamalarda WPF ile sağlanan özel sözlük .lex dosyalarını kullanmaya devam etmeniz gerekir.These new file-formats are not directly supported by the WPF spell checking API’s, and the custom dictionaries supplied to WPF in applications should continue to use .lex files.

ÖrneklerSamples

Bir dizi vardır WPF örnekleri konusuna bakın.There are a number of WPF Samples on MSDN. Birden fazla 200 (kendi kullanıma dayalı) en popüler örnekleri içine taşınamaz bir açık kaynak GitHub deposunu.More than 200 of the most popular samples (based on their usage) will be moved into an Open Source GitHub repository. Bir çekme isteği veya açılış bize göndererek örneklerimizi geliştirmemize yardımcı olun bir GitHub sorunu.Help us improve our samples by sending us a pull-request or opening a GitHub issue.

DirectX uzantılarıDirectX extensions

WPF içeren bir NuGet paketi yeni uygulamaları sağlayan D3DImage kolaylaştıran, DX10 ve Dx11 ile birlikte çalışmak içerik.WPF includes a NuGet package that provides new implementations of D3DImage that make it easy for you to interoperate with DX10 and Dx11 content. Kod bu paket açıldıktan için kaynaklıdır ve kullanılabilir github'da.The code for this package has been open sourced and is available on GitHub.

Windows Workflow Foundation: işlemleriWindows Workflow Foundation: Transactions

Transaction.EnlistPromotableSinglePhase Yöntemi şimdi MSDTC dışında bir Dağıtılmış İşlem Yöneticisi işlem yükseltmek için kullanabilirsiniz.The Transaction.EnlistPromotableSinglePhase method can now use a distributed transaction manager other than MSDTC to promote the transaction. Yeni bir GUID hareket promoter tanıtıcısı belirterek bunu Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) aşırı yükleme.You do this by specifying a GUID transaction promoter identifier to the new Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) overload . Bu işlem başarılı olursa işlem özellikleri üzerine yerleştirilen sınırlamalar vardır.If this operation is successful, there are limitations placed on the capabilities of the transaction. MSDTC olmayan işlem promoter kayıtlı sonra aşağıdaki yöntemlerden throw bir TransactionPromotionException çünkü bu yöntemleri MSDTC yükseltmesine gerektirir:Once a non-MSDTC transaction promoter is enlisted, the following methods throw a TransactionPromotionException because these methods require promotion to MSDTC:

MSDTC olmayan işlem promoter kayıtlı sonra gelecekte dayanıklı kayıtlar için tanımlayan protokolleri kullanılarak kullanılmalıdır.Once a non-MSDTC transaction promoter is enlisted, it must be used for future durable enlistments by using protocols that it defines. Guid Hareket promoter kullanarak elde edilebilir PromoterType özelliği.The Guid of the transaction promoter can be obtained by using the PromoterType property. Ne zaman işlem yükseltir, işlem promoter sağlayan bir Byte yükseltilen belirteci temsil eden bir dizi.When the transaction promotes, the transaction promoter provides a Byte array that represents the promoted token. Bir uygulama olan olmayan-yükseltilmiş MSDTC işlem için yükseltilmiş belirteci edinebilirsiniz GetPromotedToken yöntemi.An application can obtain the promoted token for a non-MSDTC promoted transaction with the GetPromotedToken method.

Yeni kullanıcılar Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) aşırı yükleme, yükseltme işleminin başarıyla tamamlanması için sırayla belirli çağrı sırası izlemelidir.Users of the new Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification, Guid) overload must follow a specific call sequence in order for the promotion operation to complete successfully. Bu kurallar yöntemin belgelerinde belgelenmiştir.These rules are documented in the method's documentation.

Profil OluşturmaProfiling

Yönetilmeyen profil oluşturma API Gelişmiş aşağıdaki olmuştur:The unmanaged profiling API has been enhanced follows:

Pdb içinde erişmek için daha iyi destek ICorProfilerInfo7 ASP.Net 5'nde, arabirim derlenmiş bellek içi Roslyn tarafından olmasını derlemeler için çok daha yaygın durumundadır.Better support for accessing PDBs in the ICorProfilerInfo7 interface In ASP.Net 5, it is becoming much more common for assemblies to be compiled in-memory by Roslyn. Profil Araçları yapmadan geliştiriciler için bu diskte geçmişte sıralanmış pdb artık mevcut olabileceğini anlamına gelir.For developers making profiling tools, this means that PDBs that historically were serialized on disk may no longer be present. Profil Oluşturucu Araçlar pdb kod geri kod kapsamı veya satır satır Performans Analizi gibi görevleri için kaynak satırları eşlemek için çoğunlukla kullanır.Profiler tools often use PDBs to map code back to source lines for tasks such as code coverage or line-by-line performance analysis. ICorProfilerInfo7 arabirimi şimdi iki yeni yöntemleri içerir ICorProfilerInfo7::GetInMemorySymbolsLength ve ICorProfilerInfo7::ReadInMemorySymbols , yeni API'leri kullanarak bu profil oluşturucu Araçlar, bellek içi PDB verilere erişimi sağlamak için bir profil oluşturucu bir bellek içi PDB bir bayt dizisi olarak içeriğini edinebilir ve ardından işlemesi veya diske seri.The ICorProfilerInfo7 interface now includes two new methods, ICorProfilerInfo7::GetInMemorySymbolsLength and ICorProfilerInfo7::ReadInMemorySymbols, to provide these profiler tools with access to the in-memory PDB data, By using the new APIs, a profiler can obtain the contents of an in-memory PDB as a byte array and then process it or serialize it to disk.

Daha iyi izleme ICorProfiler arabirimi kullanıyorsanız profil oluşturucular ICorProfiler API'nin ReJit işlevlerini dinamik araçları için artık bazı meta verileri değiştirin.Better instrumentation with the ICorProfiler interface Profilers that are using the ICorProfiler API’s ReJit functionality for dynamic instrumentation can now modify some metadata. Daha önce gibi araçlar IL herhangi bir zamanda izleme, ancak meta verileri yalnızca modülü yükleme zamanında değiştirilmiş.Previously such tools could instrument IL at any time, but metadata could only be modified at module load time. IL meta verileri başvurduğundan, bu yapılabilir araçları türlerini sınırlı.Because IL refers to metadata, this limited the kinds of instrumentation that could be done. Biz bu sınırları bazıları ekleyerek kaldırılmış ICorProfilerInfo7::ApplyMetaData modülü, özellikle yeni ekleyerek yüklendikten sonra bir alt kümesini meta verileri düzenlemeleri desteklemek için yöntemi AssemblyRef, TypeRef, TypeSpec, MemberRef, MemberSpec, ve UserString kaydeder.We have lifted some of those limits by adding the ICorProfilerInfo7::ApplyMetaData method to support a subset of metadata edits after the module loads, in particular by adding new AssemblyRef, TypeRef, TypeSpec, MemberRef, MemberSpec, and UserString records. Bu değişiklik, daha geniş bir temel-çalışma sırasında araçları mümkün kılar.This change makes a much broader range of on-the-fly instrumentation possible.

Yerel Görüntü Oluşturucu (NGEN) PDB'leriNative Image Generator (NGEN) PDBs

Bir program bir makinede profil müşterilere makineler arası olay izleme sağlar ve profil oluşturma verileri .NET Framework, kullanıcı önceki sürümlerinde B. makine kullanarak kaynak satırı eşleme ile göz tüm modüller ve yerel görüntüler profili kopyalayın Analiz makine, kaynak yerel eşlemesi oluşturmak için IL PDB içeren makineye.Cross-machine event tracing allows customers to profile a program on Machine A and look at the profiling data with source line mapping on Machine B. Using previous versions of the .NET Framework, the user would copy all the modules and native images from the profiled machine to the analysis machine that contains the IL PDB to create the source-to-native mapping. İyi dosyaları phone uygulamaları için görece küçük, gibi olduğunda bu işlem çalışabilir olsa da, dosyaları masaüstü sistemlerine çok büyük ve kopyalamak için önemli zaman gerektirir.While this process may work well when the files are relatively small, such as for phone applications, the files can be very large on desktop systems and require significant time to copy.

Ngen pdb ile NGen IL PDB bağımlılığını olmadan IL yerel eşleme içeren bir PDB oluşturabilirsiniz.With Ngen PDBs, NGen can create a PDB that contains the IL-to-native mapping without a dependency on the IL PDB. Makineler arası olay izleme Senaryomuzda gereken tek şey yerel görüntü makine A makine b tarafından oluşturulan PDB kopyalayın ve kullanmak için hata ayıklama arabirimi erişim API'leri IL PDB'ın kaynak IL eşleme ve yerel okumak için PDB'ın IL yerel eşleme görüntü.In our cross-machine event tracing scenario, all that is needed is to copy the native image PDB that is generated by Machine A to Machine B and to use Debug Interface Access APIs to read the IL PDB's source-to-IL mapping and the native image PDB's IL-to-native mapping. Her iki eşlemeleri birleştiren bir kaynak yerel eşleme sağlar.Combining both mappings provides a source-to-native mapping. Yerel görüntü PDB tüm modülleri ve yerel görüntüler çok daha küçük olduğundan makine A'dan makine B'ye kopyalama işlemi daha hızlıdır.Since the native image PDB is much smaller than all the modules and native images, the process of copying from Machine A to Machine B is much faster.

.NET 2015'te yenilikler nelerdir?What's new in .NET 2015

.NET 2015 tanıtır .NET Framework 4.6.NET Framework 4.6 ve .NET Core..NET 2015 introduces the .NET Framework 4.6.NET Framework 4.6 and .NET Core. Bazı yeni özellikler için her ikisini de uygulamak ve diğer özellikleri özgü .NET Framework 4.6.NET Framework 4.6 veya .NET Core.NET Core.Some new features apply to both, and other features are specific to .NET Framework 4.6.NET Framework 4.6 or .NET Core.NET Core.

  • ASP.NET 5ASP.NET 5

    .NET 2015 modern bulut tabanlı uygulamalar oluşturmak için yalın bir .NET uygulaması ASP.NET 5'i içerir..NET 2015 includes ASP.NET 5, which is a lean .NET implementation for building modern cloud-based apps. ASP.NET 5 modüler olduğu uygulamanızda gerekli özellikler içerebilir.ASP.NET 5 is modular so you can include only those features that are needed in your application. IIS üzerinde barındırılan veya özel bir işlem olarak kendi kendini barındıran ve aynı sunucuda farklı sürümlerini .NET Framework uygulamaları çalıştırabilirsiniz.It can be hosted on IIS or self-hosted in a custom process, and you can run apps with different versions of the .NET Framework on the same server. Bulut dağıtım için tasarlanan yeni bir ortam yapılandırma sistemi içerir.It includes a new environment configuration system that is designed for cloud deployment.

    MVC, Web API ve Web sayfaları MVC 6 adlı tek bir çerçeve birleştirilmiş.MVC, Web API, and Web Pages are unified into a single framework called MVC 6. Visual Studio 2015'te yeni araçları aracılığıyla ASP.NET 5 uygulamalar oluşturun.You build ASP.NET 5 apps through the new tools in Visual Studio 2015. Mevcut uygulamalarınızı yeni .NET Framework üzerinde çalışır; Ancak, MVC 6 veya SignalR 3 kullanan bir uygulama oluşturmak için proje sistemi Visual Studio 2015'te kullanmanız gerekir.Your existing applications will work on the new .NET Framework; however to build an app that uses MVC 6 or SignalR 3, you must use the project system in Visual Studio 2015.

    Bilgi için bkz: ASP.NET 5.For information, see ASP.NET 5.

  • ASP.NET güncelleştirmeleriASP.NET Updates

    • Görev tabanlı zaman uyumsuz yanıt düzenleniyor için APITask-based API for Asynchronous Response Flushing

      ASP.NET şimdi zaman uyumsuz yanıt Temizleme için basit bir görev tabanlı API sağlar HttpResponse.FlushAsync, dilinizi 's kullanarak zaman uyumsuz olarak kopyalanması yanıtlar sağlayan async/await destekler.ASP.NET now provides a simple task-based API for asynchronous response flushing, HttpResponse.FlushAsync, that allows responses to be flushed asynchronously by using your language's async/await support.

    • Model binding supports task-returning methods

      İçinde .NET Framework 4.5.NET Framework 4.5, ASP.NET Web formları sayfaları ve kullanıcı denetimleri CRUD tabanlı veri işlemler için genişletilebilir, kod odaklı bir yaklaşım etkin Model bağlama özelliği eklendi.In the .NET Framework 4.5.NET Framework 4.5, ASP.NET added the Model Binding feature that enabled an extensible, code-focused approach to CRUD-based data operations in Web Forms pages and user controls. Model bağlama sistem artık destekliyor Task-model bağlama yöntemleri döndürüyor.The Model Binding system now supports Task-returning model binding methods. Bu özellik Web Forms geliştiricilerin ORMs Entity Framework dahil olmak üzere, daha yeni sürümlerini kullanırken veri bağlama sistem kolaylığı zaman uyumsuz ölçeklenebilirlik avantajlarını elde olanak tanır.This feature allows Web Forms developers to get the scalability benefits of async with the ease of the data-binding system when using newer versions of ORMs, including the Entity Framework.

      Zaman uyumsuz model bağlama tarafından denetlenir aspnet:EnableAsyncModelBinding yapılandırma ayarı.Async model binding is controlled by the aspnet:EnableAsyncModelBinding configuration setting.

      <appSettings>
         <add key=" aspnet:EnableAsyncModelBinding" value="true|false" />
      </appSettings>
      

      Uygulamalarını hedef .NET Framework 4.6.NET Framework 4.6, onu varsayılan olarak true.On apps the target the .NET Framework 4.6.NET Framework 4.6, it defaults to true. Çalışan uygulamaları üzerinde .NET Framework 4.6.NET Framework 4.6 .NET Framework'ün önceki bir sürümünü hedeflemek için bu false varsayılan olarak.On apps running on the .NET Framework 4.6.NET Framework 4.6 that target an earlier version of the .NET Framework, it is false by default. Yapılandırma ayarı ayarlayarak etkinleştirilebilir true.It can be enabled by setting the configuration setting to true.

    • HTTP/2 Destek (Windows 10)HTTP/2 Support (Windows 10)

      HTTP/2 sağlayan çok daha iyi bağlantı kullanımı (daha az arasındaki gidiş dönüş istemci ve sunucu), HTTP protokolünü yeni bir sürümünü daha düşük gecikme süresi web sayfası için kullanıcıları yüklenirken sonuçlanır.HTTP/2 is a new version of the HTTP protocol that provides much better connection utilization (fewer round-trips between client and server), resulting in lower latency web page loading for users. Tek bir deneyim bir parçası olarak istenen birden çok yapıları için protokol iyileştirme yaptığından web sayfaları (aksine, Hizmetler) HTTP/2, en fazla yararlanır.Web pages (as opposed to services) benefit the most from HTTP/2, since the protocol optimizes for multiple artifacts being requested as part of a single experience. .NET Framework 4.6 ASP.NET için HTTP/2 desteği eklendi.HTTP/2 support has been added to ASP.NET in the .NET Framework 4.6. Ağ işlevlerini birden çok katmanına bulunduğundan, yeni özellikler Windows, IIS ve ASP.NET HTTP/2 etkinleştirmek için gerekli.Because networking functionality exists at multiple layers, new features were required in Windows, in IIS, and in ASP.NET to enable HTTP/2. HTTP/2 ASP.NET ile kullanmak için Windows 10 çalıştırıyor olmalıdır.You must be running on Windows 10 to use HTTP/2 with ASP.NET.

      HTTP/2 da desteklenir ve Windows 10 Evrensel Windows Platformu (UWP) kullanan uygulamalar varsayılan değer olarak System.Net.Http.HttpClient API.HTTP/2 is also supported and on by default for Windows 10 Universal Windows Platform (UWP) apps that use the System.Net.Http.HttpClient API.

      Kullanmak için bir yol sağlamak için PUSH_PROMISE özellik ASP.NET uygulamalarında iki aşırı yüklemeleri, yeni bir yöntemle PushPromise(String) ve PushPromise(String, String, NameValueCollection), eklendi HttpResponse sınıfı.In order to provide a way to use the PUSH_PROMISE feature in ASP.NET applications, a new method with two overloads, PushPromise(String) and PushPromise(String, String, NameValueCollection), has been added to the HttpResponse class.

      Not

      ASP.NET 5 HTTP/2 desteklerken, anında PROMISE özellik olmayan bir henüz eklenmiştir desteği.While ASP.NET 5 supports HTTP/2, support for the PUSH PROMISE feature has not yet been added.

      Tarayıcı ile web sunucusu (IIS Windows üzerinde) tüm çalışma yapın.The browser and the web server (IIS on Windows) do all the work. Kullanıcılarınız için tüm ağır kaldırma yapmak zorunda değilsiniz.You don't have to do any heavy-lifting for your users.

      Çoğu ana tarayıcıları desteklemesi HTTP/2, sunucunuz destekliyorsa, kullanıcılarınızın HTTP/2 Destek'ten faydalanırsınız olasıdır.Most of the major browsers support HTTP/2, so it's likely that your users will benefit from HTTP/2 support if your server supports it.

    • Belirteç bağlama protokolü desteğiSupport for the Token Binding Protocol

      Microsoft ve Google işbirliği adlı kimlik doğrulama için yeni bir yaklaşım üzerinde belirteci bağlama Protokolü.Microsoft and Google have been collaborating on a new approach to authentication, called the Token Binding Protocol. , Kimlik doğrulama belirteçleri (önbelleğindeki, tarayıcı) kullanılabilir çalınması ve parolanızı ya da ayrıcalıklı herhangi bir bilgi gerek kalmadan suçlular aksi güvenli kaynaklarına (örn, banka hesabı) erişmek için kullandığı olduğunu dayanır.The premise is that authentication tokens (in your browser cache) can be stolen and used by criminals to access otherwise secure resources (e.g. your bank account) without requiring your password or any other privileged knowledge. Bu sorunu azaltmak için yeni Protokolü amaçlar.The new protocol aims to mitigate this problem.

      Belirteç bağlama protokolü Windows 10'da bir tarayıcı özelliği olarak uygulanacaktır.The Token Binding Protocol will be implemented in Windows 10 as a browser feature. Böylece kimlik doğrulama belirteçleri yasal olarak doğrulandığı ASP.NET uygulamaları Protokolü katılın.ASP.NET apps will participate in the protocol, so that authentication tokens are validated to be legitimate. İstemci ve sunucu uygulamaları iletişim kuralı tarafından belirtilen uçtan uca koruma oluşturun.The client and the server implementations establish the end-to-end protection specified by the protocol.

    • Rastgele dize karma algoritmalarıRandomized string hash algorithms

      .NET Framework 4.5 sunulan bir rastgele dize karma algoritması.The .NET Framework 4.5 introduced a randomized string hash algorithm. Ancak, bunu ASP.NET tarafından nedeniyle bazı ASP.NET desteklenmiyordu özellikleri bağımlı olduğu bir kararlı karma kod.However, it was not supported by ASP.NET because of some ASP.NET features depended on a stable hash code. İçinde .NET Framework 4.6.NET Framework 4.6, rastgele dize karma algoritmaları artık desteklenmektedir.In .NET Framework 4.6.NET Framework 4.6, randomized string hash algorithms are now supported. Bu özelliği etkinleştirmek için kullanın aspnet:UseRandomizedStringHashAlgorithm yapılandırma ayarı.To enable this feature, use the aspnet:UseRandomizedStringHashAlgorithm config setting.

      <appSettings>
         <add key="aspnet:UseRandomizedStringHashAlgorithm" value="true|false" />
      </appSettings>
      
  • ADO.NETADO.NET

    ADO .NET şimdi her zaman şifreli özelliği SQL Server 2016 Community Technology Preview 2 (CTP2) kullanılabilir destekler.ADO .NET now supports the Always Encrypted feature available in SQL Server 2016 Community Technology Preview 2 (CTP2). Her zaman şifreli ile SQL Server şifrelenmiş veriler üzerinde işlemler yapabilir ve Müşteri'nin güvenilen ortamı içindeki ve sunucuda uygulamayla en iyi tüm şifreleme anahtarı bulunur.With Always Encrypted, SQL Server can perform operations on encrypted data, and best of all the encryption key resides with the application inside the customer’s trusted environment and not on the server. Her zaman şifreli DBAs düz metin veri erişimi olmayan şekilde müşteri verilerin güvenliğini sağlar.Always Encrypted secures customer data so DBAs do not have access to plain text data. Şifreleme ve şifre çözme veri olur saydam sürücü düzeyinde, mevcut uygulamalarına yapılacak değişiklikler en aza indirir.Encryption and decryption of data happens transparently at the driver level, minimizing changes that have to be made to existing applications. Ayrıntılar için bkz (veritabanı altyapısı)'her zaman şifreli ve (istemci geliştirme)'her zaman şifreli.For details, see Always Encrypted (Database Engine) and Always Encrypted (client development).

  • yönetilen kod için 64-bit JIT derleyicisi64-bit JIT Compiler for managed code

    .NET Framework 4.6 64-bit JIT Derleyici (ilk olarak kod adı RyuJIT) yeni bir sürümünü içerir.The .NET Framework 4.6 features a new version of the 64-bit JIT compiler (originally code-named RyuJIT). Yeni 64 bit derleyici eski 64-bit JIT Derleyici önemli ölçüde performans artışı sağlar.The new 64-bit compiler provides significant performance improvements over the older 64-bit JIT compiler. Yeni 64 bit Derleyici, .NET Framework 4.6 üstünde çalıştıran 64 bit işlemleri için etkinleştirilir.The new 64-bit compiler is enabled for 64-bit processes running on top of the .NET Framework 4.6. Uygulamanızı bir 64-bit işlem olarak 64-bit derlenmiş ise veya AnyCPU çalışır ve bir 64-bit işletim sisteminde çalışır.Your app will run in a 64-bit process if it is compiled as 64-bit or AnyCPU and is running on a 64-bit operating system. Dikkatli olarak saydam yeni derleyici geçiş yapmak için gerçekleştirilecek olsa da, davranış değişiklikleri mümkündür.While care has been taken to make the transition to the new compiler as transparent as possible, changes in behavior are possible. Yeni JIT Derleyici kullanırken doğrudan karşılaştığı sorunları hakkında duymak isteriz.We would like to hear directly about any issues encountered when using the new JIT compiler. Lütfen aracılığıyla Bize Ulaşın Microsoft Connect yeni 64-bit JIT Derleyici ilgili bir sorunla karşılaşırsanız.Please contact us through Microsoft Connect if you encounter an issue that may be related to the new 64-bit JIT compiler.

    Yeni 64-bit JIT Derleyici ayrıca SIMD etkin türleri ile birlikte, donanım SIMD hızlandırma özellikler içerir System.Numerics iyi performans iyileştirmeleri sağlayabilen ad alanı.The new 64-bit JIT compiler also includes hardware SIMD acceleration features when coupled with SIMD-enabled types in the System.Numerics namespace, which can yield good performance improvements.

  • Derleme yükleyicisi geliştirmeleriAssembly loader improvements

    Karşılık gelen bir NGEN görüntü yüklendikten sonra derleme yükleyicisi şimdi daha verimli bir şekilde kaldırma IL derlemeleri tarafından bellek kullanır.The assembly loader now uses memory more efficiently by unloading IL assemblies after a corresponding NGEN image is loaded. Bu değişiklik (örneğin, Visual Studio) büyük 32-bit uygulamalar için özellikle yararlıdır ve ayrıca fiziksel bellekten tasarruf sanal bellek azaltır.This change decreases virtual memory, which is particularly beneficial for large 32-bit apps (such as Visual Studio), and also saves physical memory.

  • Taban sınıf kitaplığı değişiklikleriBase class library changes

    Yeni API'lerin geçici eklenmiş .NET Framework 4.6.NET Framework 4.6 önemli senaryoları etkinleştirmek için.Many new APIs have been added around to .NET Framework 4.6.NET Framework 4.6 to enable key scenarios. Bunlar aşağıdaki değişiklikler ve eklemeler şunlardır:These include the following changes and additions:

    • IReadOnlyCollection<T > uygulamalarıIReadOnlyCollection<T> implementations

      Ek koleksiyonları uygulamak IReadOnlyCollection<T> gibi Queue<T> ve Stack<T>.Additional collections implement IReadOnlyCollection<T> such as Queue<T> and Stack<T>.

    • CultureInfo.CurrentCulture ve CultureInfo.CurrentUICultureCultureInfo.CurrentCulture and CultureInfo.CurrentUICulture

      CultureInfo.CurrentCulture Ve CultureInfo.CurrentUICulture özellikleri artık okuma-yazma yerine salt okunur.The CultureInfo.CurrentCulture and CultureInfo.CurrentUICulture properties are now read-write rather than read-only. Yeni bir atarsanız CultureInfo bu özellikler tarafından tanımlanan geçerli iş parçacığı kültür nesnesine Thread.CurrentThread.CurrentCulture özelliği ve geçerli kullanıcı Arabirimi iş parçacığı tarafından tanımlanan kültür Thread.CurrentThread.CurrentUICulture özelliklerini de değiştirebilirsiniz.If you assign a new CultureInfo object to these properties, the current thread culture defined by the Thread.CurrentThread.CurrentCulture property and the current UI thread culture defined by the Thread.CurrentThread.CurrentUICulture properties also change.

    • Çöp toplama (GC) geliştirmeleriEnhancements to garbage collection (GC)

      GC Sınıfı şimdi içerir TryStartNoGCRegion ve EndNoGCRegion çöp toplama kritik yol yürütülmesi sırasında izin vermeyecek şekilde izin yöntemleri.The GC class now includes TryStartNoGCRegion and EndNoGCRegion methods that allow you to disallow garbage collection during the execution of a critical path.

      Yeni bir aşırı yüklemesini GC.Collect(Int32, GCCollectionMode, Boolean, Boolean) yöntemi vermediğini, denetimine küçük nesne yığın ve büyük nesne yığın gözden geçirilmiştir ve sıkıştırılmış veya yalnızca gözden geçirilmiştir.A new overload of the GC.Collect(Int32, GCCollectionMode, Boolean, Boolean) method allows you to control whether both the small object heap and the large object heap are swept and compacted or swept only.

    • SIMD etkin türleriSIMD-enabled types

      System.Numerics Ad alanı artık çeşitli içerir SIMD etkin türleri gibi Matrix3x2, Matrix4x4, Plane, Quaternion, Vector2, Vector3, ve Vector4.The System.Numerics namespace now includes a number of SIMD-enabled types, such as Matrix3x2, Matrix4x4, Plane, Quaternion, Vector2, Vector3, and Vector4.

      Yeni 64-bit JIT Derleyici donanım SIMD ivmesini da içerdiği için özellikle önemli performans geliştirmeleri SIMD etkin türleri yeni 64-bit JIT derleyicisi ile kullanırken yoktur.Because the new 64-bit JIT compiler also includes hardware SIMD acceleration features, there are especially significant performance improvements when using the SIMD-enabled types with the new 64-bit JIT compiler.

    • Şifreleme güncelleştirmeleriCryptography updates

      System.Security.Cryptography API güncelleştiriliyor desteklemek için Windows CNG şifreleme API'leri.The System.Security.Cryptography API is being updated to support the Windows CNG cryptography APIs. .NET Framework'ün önceki sürümlere dayanıyordu tamamen açık bir Windows şifreleme API'leri önceki sürümünü için temel olarak System.Security.Cryptography uygulaması.Previous versions of the .NET Framework have relied entirely on an earlier version of the Windows Cryptography APIs as the basis for the System.Security.Cryptography implementation. Bunu desteklediğinden CNG API desteklemek için istekleri bizde modern şifreleme algoritmalarını, belirli uygulamaları kategorileri için önemli olan.We have had requests to support the CNG API, since it supports modern cryptography algorithms, which are important for certain categories of apps.

      .NET Framework 4.6 Windows CNG şifreleme API'leri desteklemek için aşağıdaki yeni geliştirmeleri içerir:The .NET Framework 4.6 includes the following new enhancements to support the Windows CNG cryptography APIs:

      • Bir dizi X509 için genişletme yöntemleri sertifikalar, System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2) ve System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2), CAPI tabanlı mümkün olduğunda bir uygulama yerine CNG tabanlı bir uygulama döndürür.A set of extension methods for X509 Certificates, System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPublicKey(System.Security.Cryptography.X509Certificates.X509Certificate2) and System.Security.Cryptography.X509Certificates.RSACertificateExtensions.GetRSAPrivateKey(System.Security.Cryptography.X509Certificates.X509Certificate2), that return a CNG-based implementation rather than a CAPI-based implementation when possible. (Bazı akıllı kartlar, vb. hala CAPI gerektirir ve geri dönüş API'leri tanıtıcı).(Some smartcards, etc., still require CAPI, and the APIs handle the fallback).

      • System.Security.Cryptography.RSACng RSA algoritması CNG uyarlamasını sağlayan sınıf.The System.Security.Cryptography.RSACng class, which provides a CNG implementation of the RSA algorithm.

      • RSA API geliştirmeler böylece ortak Eylemler atama artık gerek yoktur.Enhancements to the RSA API so that common actions no longer require casting. Örneğin, verileri kullanarak şifreleme bir X509Certificate2 nesnesi .NET Framework'ün önceki sürümlerinde aşağıdaki gibi kod gerektirir.For example, encrypting data using an X509Certificate2 object requires code like the following in previous versions of the .NET Framework.

        RSACryptoServiceProvider rsa = (RSACryptoServiceProvider)cert.PrivateKey;
        byte[] oaepEncrypted = rsa.Encrypt(data, true);
        byte[] pkcs1Encrypted = rsa.Encrypt(data, false);
        
        Dim rsa As RSACryptoServiceProvider = CType(cert.PrivateKey, RSACryptoServiceProvider)
        Dim oaepEncrypted() As Byte = rsa.Encrypt(data, True)
        Dim pkcs1Encrypted() As Byte = rsa.Encrypt(data, False)
        

        Yeni şifreleme API'leri .NET Framework 4.6 kullanan kodu cast önlemek için şu şekilde yazılabilir.Code that uses the new cryptography APIs in the .NET Framework 4.6 can be rewritten as follows to avoid the cast.

        RSA rsa = cert.GetRSAPrivateKey();
        if (rsa == null)
           throw new InvalidOperationException("An RSA certificate was expected");
        
        byte[] oaepEncrypted = rsa.Encrypt(data, RSAEncryptionPadding.OaepSHA1);
        byte[] pkcs1Encrypted = rsa.Encrypt(data, RSAEncryptionPadding.Pkcs1);
        
        Dim rsa As RSA = cert.GetRSAPrivateKey()
        If rsa Is Nothing Then
           Throw New InvalidOperationException("An RSA certificate was expected")
         End If
        
        Dim oaepEncrypted() As Byte = rsa.Encrypt(data, RSAEncryptionPadding.OaepSHA1)
        Dim pkcs1Encrypted() As Byte = rsa.Encrypt(data, RSAEncryptionPadding.Pkcs1)
        
    • Tarihler ve saatler için veya UNIX zamandan dönüştürmek için destekSupport for converting dates and times to or from Unix time

      Aşağıdaki yeni yöntemler eklenmiştir DateTimeOffset UNIX zaman kaynağı veya tarih ve saat değerlerini dönüştürme desteklemek için yapısı:The following new methods have been added to the DateTimeOffset structure to support converting date and time values to or from Unix time:

    • Uyumluluk anahtarlarıCompatibility switches

      Yeni AppContext sınıf kitaplığı yazıcılar, kullanıcılar için yeni işlevsellik Tekdüzen çevirin mekanizmaya sağlayan yeni bir uyumluluk özellik ekler.The new AppContext class adds a new compatibility feature that enables library writers to provide a uniform opt-out mechanism for new functionality for their users. Gevşek bağlanmış bir sözleşme vazgeçme isteği iletişim kurmak için bileşenler arasındaki oluşturur.It establishes a loosely-coupled contract between components in order to communicate an opt-out request. Var olan işlevselliği için bir değişiklik yapıldığında bu genellikle önemli bir özelliktir.This capability is typically important when a change is made to existing functionality. Buna karşılık, zaten var. bir örtük katılımı yeni işlevsellik için.Conversely, there is already an implicit opt-in for new functionality.

      İle AppContext, kitaplıkları tanımlayın ve onlara bağımlı kod çalışırken sunmaya uyumluluk anahtarları kitaplığı davranışını etkilemek için bu anahtarları ayarlayabilirsiniz.With AppContext, libraries define and expose compatibility switches, while code that depends on them can set those switches to affect the library behavior. Varsayılan olarak, kitaplıkları, yeni işlevsellik sağlar ve bunlar yalnızca alter (diğer bir deyişle, önceki işlevselliği sağladıkları) anahtarı ayarlanırsa.By default, libraries provide the new functionality, and they only alter it (that is, they provide the previous functionality) if the switch is set.

      Bir uygulama (veya bir kitaplık) bir anahtar değeri bildirebilirsiniz (her zaman olduğu bir Boolean değeri) bağımlı kitaplığı tanımlayan.An application (or a library) can declare the value of a switch (which is always a Boolean value) that a dependent library defines. Anahtarı her zaman örtülü olarak başvuruluyor false.The switch is always implicitly false. Anahtar ayarını true sağlar.Setting the switch to true enables it. Anahtar açıkça ayarını false yeni davranış sağlar.Explicitly setting the switch to false provides the new behavior.

      AppContext.SetSwitch("Switch.AmazingLib.ThrowOnException", true);
      

      Bir tüketici anahtarı değeri belirtmiş ve sonra uygun şekilde onun üzerinde işlem kitaplığının denetlemeniz gerekir.The library must check if a consumer has declared the value of the switch and then appropriately act on it.

      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'. 
         // A false value implies the latest behavior.
      }
      
         // The library can use the value of shouldThrow to throw exceptions or not.
         if (shouldThrow) 
         {
            // old code
         }
         else {
            // new code
         }
      }
      

      Bir kitaplık tarafından kullanıma sunulan resmi bir sözleşme olduğundan anahtarları için tutarlı bir biçim kullanmak faydalıdır.It's beneficial to use a consistent format for switches, since they are a formal contract exposed by a library. Aşağıdaki iki belirgin biçimler geçerlidir.The following are two obvious formats.

      • Anahtar. ad alanı. backendswitchSwitch.namespace.switchname

      • Anahtar. Kitaplık. backendswitchSwitch.library.switchname

    • Görev tabanlı zaman uyumsuz desen (TAP) değişiklikleriChanges to the task-based asynchronous pattern (TAP)

      Hedef uygulamalar için .NET Framework 4.6.NET Framework 4.6, Task ve Task<TResult> kültür ve UI kültürü çağıran iş parçacığı nesneleri devralır.For apps that target the .NET Framework 4.6.NET Framework 4.6, Task and Task<TResult> objects inherit the culture and UI culture of the calling thread. .NET Framework'ün önceki sürümlerini hedefleyen ya da belirli bir .NET Framework sürümünü oluşturmayın uygulamalarınızın davranışını etkilenmez.The behavior of apps that target previous versions of the .NET Framework, or that do not target a specific version of the .NET Framework, is unaffected. Daha fazla bilgi için "Kültür ve görev tabanlı zaman uyumsuz işlemler" bölümüne bakın CultureInfo sınıfı konu.For more information, see the "Culture and task-based asynchronous operations" section of the CultureInfo class topic.

      System.Threading.AsyncLocal<T> Sınıfı gibi belirli bir zaman uyumsuz denetim akışı için yerel olan ortam verilerini temsil eden olanak tanır bir async yöntemi.The System.Threading.AsyncLocal<T> class allows you to represent ambient data that is local to a given asynchronous control flow, such as an async method. İş parçacıkları arasında veri kalıcı hale getirmek için kullanılabilir.It can be used to persist data across threads. Ortam veri olduğundan ya da değiştiğinde bildirilir bir geri çağırma yöntemi de tanımlayabilirsiniz AsyncLocal<T>.Value özelliği açıkça değiştirilirse, veya iş parçacığının içeriği geçiş karşılaştığından.You can also define a callback method that is notified whenever the ambient data changes either because the AsyncLocal<T>.Value property was explicitly changed, or because the thread encountered a context transition.

      Üç kullanışlı yöntemler Task.CompletedTask, Task.FromCanceled, ve Task.FromException, belirli bir durumdaki tamamlanan görevler döndürmek için görev tabanlı zaman uyumsuz desen (TAP) eklenmiştir.Three convenience methods, Task.CompletedTask, Task.FromCanceled, and Task.FromException, have been added to the task-based asynchronous pattern (TAP) to return completed tasks in a particular state.

      NamedPipeClientStream Sınıfı şimdi kendi yeni ile zaman uyumsuz iletişim destekler ConnectAsync.The NamedPipeClientStream class now supports asynchronous communication with its new ConnectAsync. yöntem.method.

    • EventSource şimdi olay günlüğüne yazma desteklerEventSource now supports writing to the Event log

      Artık kullanabilirsiniz EventSource günlüğüne yönetimsel veya işletimsel messages sınıfı olay günlüğüne ek olarak makinede oluşturulan ETW oturumlarına için.You now can use the EventSource class to log administrative or operational messages to the event log, in addition to any existing ETW sessions created on the machine. Geçmişte, bu işlev için Microsoft.Diagnostics.Tracing.EventSource NuGet paketi kullanmanız gerekiyordu.In the past, you had to use the Microsoft.Diagnostics.Tracing.EventSource NuGet package for this functionality. Bu işlev artık yerleşik-.NET Framework 4.6.This functionality is now built-into the .NET Framework 4.6.

      NuGet paketi ve .NET Framework 4.6 aşağıdaki özelliklerle güncelleştirilmiştir:Both the NuGet package and the .NET Framework 4.6 have been updated with the following features:

      • Dinamik olaylarıDynamic events

        "Anında" olay yöntemleri oluşturmadan tanımlanan olaylar sağlar.Allows events defined "on the fly" without creating event methods.

      • Zengin yüklerdeRich payloads

        İlkel türler, yükü olarak geçirilecek yanı sıra özel öznitelikli sınıfları ve diziler sağlarAllows specially attributed classes and arrays as well as primitive types to be passed as a payload

      • İzleme etkinliğiActivity tracking

        Tüm etkin etkinlikleri temsil eden bir Kimliğe sahip aralarında etiketi olayları başlatma ve durdurma olaylarına neden olur.Causes Start and Stop events to tag events between them with an ID that represents all currently active activities.

      Bu destek özellikleri için aşırı yüklenmiş Write yöntemi eklenmiştir EventSource sınıfı.To support these features, the overloaded Write method has been added to the EventSource class.

  • Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

    • HDPI geliştirmeleriHDPI improvements

      WPF HDPI desteği içinde daha iyi şimdi .NET Framework 4.6.NET Framework 4.6.HDPI support in WPF is now better in the .NET Framework 4.6.NET Framework 4.6. Kenarlıklar denetimleriyle kırpmayı örneklerini azaltmak için yuvarlama Düzen değişiklikler yapıldı.Changes have been made to layout rounding to reduce instances of clipping in controls with borders. Varsayılan olarak, bu özellik yalnızca etkin, TargetFrameworkAttribute .NET 4.6 ayarlanır.By default, this feature is enabled only if your TargetFrameworkAttribute is set to .NET 4.6. Framework'ün önceki sürümlerini hedefleyen ancak üzerinde çalışan uygulamalar .NET Framework 4.6.NET Framework 4.6 yeni davranış aşağıdaki satırı ekleyerek kabul <çalışma zamanı > app.config dosyasının:Applications that target earlier versions of the framework but are running on the .NET Framework 4.6.NET Framework 4.6 can opt in to the new behavior by adding the following line to the <runtime> section of the app.config file:

      <AppContextSwitchOverrides
      value="Switch.MS.Internal.DoNotApplyLayoutRoundingToMarginsAndBorderThickness=false"
      />
      

      WPF windows farklı DPI ayarlarıyla (çoklu DPI kurulum) birden çok monitör payından şimdi blacked çıkış bölgeler tamamen işlenir.WPF windows straddling multiple monitors with different DPI settings (Multi-DPI setup) are now completely rendered without blacked-out regions. Aşağıdaki satırı ekleyerek bu davranışı iptal seçebilirsiniz <appSettings> app.config dosyasının bu yeni davranışı devre dışı bırakmak için:You can opt out of this behavior by adding the following line to the <appSettings> section of the app.config file to disable this new behavior:

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

      DPI ayarına göre doğru imleci yüklemeyi otomatik olarak eklendi desteği System.Windows.Input.Cursor.Support for automatically loading the right cursor based on DPI setting has been added to System.Windows.Input.Cursor.

    • Dokunma daha iyi?Touch is better

      Müşteri raporları Bağlan beklenmeyen davranışlara ele içinde üretir touch .NET Framework 4.6.NET Framework 4.6.Customer reports on Connect that touch produces unpredictable behavior have been addressed in the .NET Framework 4.6.NET Framework 4.6. Windows mağazası uygulamaları ve WPF uygulamaları çift dokunun eşiği artık Windows 8.1 ve üzeri aynıdır.The double tap threshold for Windows Store applications and WPF applications is now the same in Windows 8.1 and above.

    • Saydam alt pencere desteğiTransparent child window support

      WPF'de .NET Framework 4.6.NET Framework 4.6 saydam alt windows Windows 8.1 ve üstünü destekler.WPF in the .NET Framework 4.6.NET Framework 4.6 supports transparent child windows in Windows 8.1 and above. Bu, en üst düzey windows dikdörtgen olmayan ve saydam alt öğe pencerelerini oluşturmanıza olanak sağlar.This allows you to create non-rectangular and transparent child windows in your top-level windows. Bu özellik ayarlayarak etkinleştirebilirsiniz HwndSourceParameters.UsesPerPixelTransparency özelliğine true.You can enable this feature by setting the HwndSourceParameters.UsesPerPixelTransparency property to true.

  • Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)

    • SSL desteğiSSL support

      WCF artık SSL sürüm TLS 1.1 ve TLS 1.2, SSL 3.0 ve TLS 1.0, ek olarak NetTcp taşıma güvenliği ve istemci kimlik doğrulaması ile kullanırken destekler.WCF now supports SSL version TLS 1.1 and TLS 1.2, in addition to SSL 3.0 and TLS 1.0, when using NetTcp with transport security and client authentication. Artık, hangi protokolü kullanın ya da eski daha az güvenli protokolleri devre dışı bırakmak için seçmek mümkündür.It is now possible to select which protocol to use, or to disable old lesser secure protocols. Bu ayarı tarafından yapılabilir SslProtocols özelliği ya da aşağıdaki yapılandırma dosyasına ekleyerek.This can be done either by setting the SslProtocols property or by adding the following to a configuration file.

      <netTcpBinding>
         <binding>
            <security mode= "None|Transport|Message|TransportWithMessageCredential" >
               <transport clientCredentialType="None|Windows|Certificate"
                          protectionLevel="None|Sign|EncryptAndSign"
                          sslProtocols="Ssl3|Tls1|Tls11|Tls12">
                  </transport>
            </security>
         </binding>
      </netTcpBinding>
      
    • Farklı HTTP bağlantılarını kullanarak ileti göndermeSending messages using different HTTP connections

      WCF artık belirli iletileri farklı temel HTTP bağlantılarını kullanarak gönderildiğinden emin olmak kullanıcılara izin verir.WCF now allows users to ensure certain messages are sent using different underlying HTTP connections. Bunu yapmak için iki yol vardır:There are two ways to do this:

      • Bir bağlantı grup adı ön eki kullanmaUsing a connection group name prefix

        Kullanıcılar, WCF bağlantısı grup adı için bir önek olarak kullanacağı bir dize belirtebilirsiniz.Users can specify a string that WCF will use as a prefix for the connection group name. Farklı öneklerle iki ileti farklı temel HTTP bağlantılarını kullanılarak gönderilir.Two messages with different prefixes are sent using different underlying HTTP connections. İleti için bir anahtar/değer çifti ekleyerek öneki ayarlayın Message.Properties özelliği.You set the prefix by adding a key/value pair to the message's Message.Properties property. "HttpTransportConnectionGroupNamePrefix"; anahtarıdır istediğiniz önek değerdir.The key is "HttpTransportConnectionGroupNamePrefix"; the value is the desired prefix.

      • Farklı bir kanal fabrikaları kullanmaUsing different channel factories

        Kullanıcılar, farklı bir kanal üreteçleri tarafından oluşturulan kanalları kullanılarak gönderilen iletileri farklı temel HTTP bağlantılarını kullanmanızı sağlar bir özelliğini de etkinleştirebilirsiniz.Users can also enable a feature that ensures that messages sent using channels created by different channel factories will use different underlying HTTP connections. Bu özelliği etkinleştirmek için kullanıcıların aşağıdaki ayarlamalısınız appSetting için true:To enable this feature, users must set the following appSetting to true:

        <appSettings>
           <add key="wcf:httpTransportBinding:useUniqueConnectionPoolPerFactory" value="true" />
        </appSettings>
        
  • Windows Workflow Foundation (WWF)Windows Workflow Foundation (WWF)

    Şimdi, istek zaman aşımına uğramadan bekleyen bir "Protokolü olmayan" yer işareti olduğunda bir iş akışı hizmeti için bir düzen dışı operation isteğini tutacak saniye sayısını belirtebilirsiniz.You can now specify the number of seconds a workflow service will hold on to an out-of-order operation request when there is an outstanding "non-protocol" bookmark before timing out the request. "Protokolü olmayan" yer işareti bekleyen alma etkinliklerle ilgili olmayan bir yer işareti ' dir.A "non-protocol" bookmark is a bookmark that is not related to outstanding Receive activities. Bazı etkinlikler Protokolü olmayan yer işareti varolduğunu belirgin olmayabilir, uygulama içinde Protokolü olmayan yer işaretleri oluşturun.Some activities create non-protocol bookmarks within their implementation, so it may not be obvious that a non-protocol bookmark exists. Bunlar, durumu ve çekme içerir.These include State and Pick. Bu nedenle Durum makinesi ile uygulanan bir iş akışı hizmeti varsa veya çekme etkinliğini içeren, büyük olasılıkla olacak Protokolü olmayan yer işaretleri gerekir.So if you have a workflow service implemented with a state machine or containing a Pick activity, you will most likely have non-protocol bookmarks. Aşağıdakine benzer bir satır ekleyerek aralığı belirtin appSettings app.config dosyasının:You specify the interval by adding a line like the following to the appSettings section of your app.config file:

    <add key="microsoft:WorkflowServices:FilterResumeTimeoutInSeconds" value="60"/>
    

    Varsayılan değer 60 saniyedir.The default value is 60 seconds. Varsa value ayarlanmış 0 olarak düzen dışı istekler hemen metinle şuna benzer bir hata ile reddedilir:If value is set to 0, out-of-order requests are immediately rejected with a fault with text that looks like this:

    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. 
    

    Bu sipariş işlem iletisi alırsanız, aldığınız iletinin ve hiçbir Protokolü olmayan yer işaretleri vardır.This is the same message that you receive if an out-of-order operation message is received and there are no non-protocol bookmarks.

    Varsa değerini FilterResumeTimeoutInSeconds sıfır olmayan bir öğedir Protokolü olmayan yer işaretleri vardır ve zaman aşımı aralığı sona, işlem zaman aşımı iletisi vererek başarısız olur.If the value of the FilterResumeTimeoutInSeconds element is non-zero, there are non-protocol bookmarks, and the timeout interval expires, the operation fails with a timeout message.

  • İşlemlerTransactions

    Bir özel duruma neden oldu işlem türetildiği için Dağıtılmış işlem tanımlayıcısı artık ekleyebilirsiniz TransactionException oluşturulmasına.You can now include the distributed transaction identifier for the transaction that has caused an exception derived from TransactionException to be thrown. Aşağıdaki anahtarı ekleyerek bunu appSettings app.config dosyasının:You do this by adding the following key to the appSettings section of your app.config file:

    <add key="Transactions:IncludeDistributedTransactionIdInExceptionMessage" value="true"/> 
    

    Varsayılan değer false şeklindedir.The default value is false.

  • Ağ oluşturmaNetworking

    • Yuva yeniden kullanmaSocket reuse

      Windows 10 giden TCP bağlantıları için yerel bağlantı noktaları yeniden kullanarak makine kaynakları daha iyi kullanımı sağlayan yeni bir ağ yüksek ölçeklenebilirlik algoritmasını içerir.Windows 10 includes a new high-scalability networking algorithm that makes better use of machine resources by reusing local ports for outbound TCP connections. .NET Framework 4.6, yeni davranışı yararlanmak .NET uygulamaları etkinleştirme yeni algoritmasını destekler.The .NET Framework 4.6 supports the new algorithm, enabling .NET apps to take advantage of the new behavior. Önceki Windows sürümlerinde, bir hizmet ölçeklenebilirliğini bağlantı noktası Tükenme olduğunda yük altında neden olarak kısıtlayacaktır bir yapay eşzamanlı bağlantı sınırı (genellikle 16,384, dinamik bağlantı noktası aralığının varsayılan boyut), vardı.In previous versions of Windows, there was an artificial concurrent connection limit (typically 16,384, the default size of the dynamic port range), which could limit the scalability of a service by causing port exhaustion when under load.

      İçinde .NET Framework 4.6.NET Framework 4.6, etkili bir şekilde eşzamanlı bağlantı 64 K sınırını kaldırır Bağlantı noktası yeniden etkinleştirmek için iki yeni API'ler eklenmiştir:In the .NET Framework 4.6.NET Framework 4.6, two new APIs have been added to enable port reuse, which effectively removes the 64K limit on concurrent connections:

      Varsayılan olarak, ServicePointManager.ReusePort özelliği false sürece HWRPortReuseOnSocketBind değeri HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 kayıt defteri anahtarını 0x1 olarak ayarlayın.By default, the ServicePointManager.ReusePort property is false unless the HWRPortReuseOnSocketBind value of the HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 registry key is set to 0x1. HTTP bağlantılarında yerel bağlantı noktası yeniden etkinleştirmek için ayarlanmış ServicePointManager.ReusePort özelliğine true.To enable local port reuse on HTTP connections, set the ServicePointManager.ReusePort property to true. Bu tüm giden TCP yuva bağlantılarından neden HttpClient ve HttpWebRequest yeni bir Windows 10 yuva seçeneği kullanmak için SO_REUSE_UNICASTPORT, yerel bağlantı noktası yeniden kullanılmasını sağlar.This causes all outgoing TCP socket connections from HttpClient and HttpWebRequest to use a new Windows 10 socket option, SO_REUSE_UNICASTPORT, that enables local port reuse.

      Yalnızca yuva uygulama yazan geliştiriciler belirtebilirsiniz System.Net.Sockets.SocketOptionName seçeneği yöntem gibi çağırırken Socket.SetSocketOption giden yuva yerel bağlantı noktaları bağlama sırasında yeniden böylece.Developers writing a sockets-only application can specify the System.Net.Sockets.SocketOptionName option when calling a method such as Socket.SetSocketOption so that outbound sockets reuse local ports during binding.

    • Uluslararası etki alanı adları ve zayıf kod desteğiSupport for international domain names and PunyCode

      Yeni bir özellik IdnHost, eklendi Uri uluslararası etki alanı adları ve PunyCode daha iyi desteklemek için sınıf.A new property, IdnHost, has been added to the Uri class to better support international domain names and PunyCode.

  • Windows Forms denetimleri yeniden boyutlandırma.Resizing in Windows Forms controls.

    Bu özellik, Genişletilmiş .NET Framework 4.6.NET Framework 4.6 içerecek şekilde DomainUpDown, NumericUpDown, DataGridViewComboBoxColumn, DataGridViewColumn ve ToolStripSplitButton türleri ve tarafından belirtilen dikdörtgen Bounds özelliği çizim sırasında kullanılan bir UITypeEditor .This feature has been expanded in .NET Framework 4.6.NET Framework 4.6 to include the DomainUpDown, NumericUpDown, DataGridViewComboBoxColumn, DataGridViewColumn and ToolStripSplitButton types and the rectangle specified by the Bounds property used when drawing a UITypeEditor.

    Bu bir katılımı özelliğidir.This is an opt-in feature. Etkinleştirmek için ayarlanmış EnableWindowsFormsHighDpiAutoResizing öğesine true uygulama yapılandırması (app.config) dosyasında:To enable it, set the EnableWindowsFormsHighDpiAutoResizing element to true in the application configuration (app.config) file:

    <appSettings>
       <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
    </appSettings>
    
  • Kod sayfası kodlaması için destekSupport for code page encodings

    .NET Core.NET Core öncelikle Unicode Kodlamalar destekler ve varsayılan kod sayfası kodlamaları için sınırlı destek sağlar. primarily supports the Unicode encodings and by default provides limited support for code page encodings. Kod sayfası Kodlamalar içinde desteklenmeyen ancak .NET Framework'teki kullanılabilir için destek ekleyebilmesi .NET Core.NET Core kod sayfası Kodlamalar ile kaydetme tarafından Encoding.RegisterProvider yöntemi.You can add support for code page encodings available in the .NET Framework but unsupported in .NET Core.NET Core by registering code page encodings with the Encoding.RegisterProvider method. Daha fazla bilgi için bkz. System.Text.CodePagesEncodingProvider.For more information, see System.Text.CodePagesEncodingProvider.

  • .NET Native.NET Native

    Windows uygulamaları için Windows 10 hedefleyen .NET Core.NET Core ve C# dilinde yazılmıştır veya Visual Basic yararlanabilir uygulamaları IL yerine yerel koda derlenen yeni bir teknoloji.Windows apps for Windows 10 that target .NET Core.NET Core and are written in C# or Visual Basic can take advantage of a new technology that compiles apps to native code rather than IL. Hızlı Başlangıç ve yürütme sürelerinin tarafından temsil edilen uygulamaları oluşturdukları.They produce apps characterized by faster startup and execution times. Daha fazla bilgi için bkz: .NET yerel ile derleme uygulamaları.For more information, see Compiling Apps with .NET Native. Anlamına gelir, kodunuz için .NET nasıl JIT derleme hem NGEN farklıdır ve hangi, inceleyen yerel genel bakış için bkz: .NET yerel ve derleme.For an overview of .NET Native that examines how it differs from both JIT compilation and NGEN and what that means for your code, see .NET Native and Compilation.

    Visual Studio 2015 ile derlerken uygulamalarınızı varsayılan olarak yerel koda derlenen.Your apps are compiled to native code by default when you compile them with Visual Studio 2015. Daha fazla bilgi için bkz: .NET yerel ile çalışmaya başlama.For more information, see Getting Started with .NET Native.

    Hata ayıklama .NET yerel uygulamalarını desteklemek için bir dizi yeni arabirimleri ve numaralandırmalar yönetilmeyen hata ayıklama API'si eklenmiştir.To support debugging .NET Native apps, a number of new interfaces and enumerations have been added to the unmanaged debugging API. Daha fazla bilgi için bkz: hata ayıklama (yönetilmeyen API Başvurusu) konu.For more information, see the Debugging (Unmanaged API Reference) topic.

  • Açık kaynak .NET Framework paketleriOpen-source .NET Framework packages

    Sabit koleksiyonlar gibi .NET core paketleri SIMD API'leri, ve API olanlar gibi ağ bulunan System.Net.Http ad alanı şu anda açık kaynak paketleri olarak kullanılabilir durumda GitHub..NET Core packages such as the immutable collections, SIMD APIs, and networking APIs such as those found in the System.Net.Http namespace are now available as open source packages on GitHub. Kod erişmek için bkz: github'da CoreFx.To access the code, see CoreFx on GitHub. Daha fazla bilgi ve nasıl katkıda bulunabileceğinizi bu paketleri için bkz: .NET Core ve açık kaynak, GitHub .NET giriş sayfasında.For more information and how to contribute to these packages, see .NET Core and Open-Source, .NET Home Page on GitHub.

Başa dönBack to top

.NET Framework 4.5.2 yeniliklerWhat's new in the .NET Framework 4.5.2

Başa dönBack to top

.NET Framework 4.5.1 yeniliklerWhat's new in the .NET Framework 4.5.1

Nisan 2014 güncelleştirmeleri:April 2014 updates:

  • Visual Studio 2013 güncelleştirme 2 bu senaryoları desteklemek için taşınabilir sınıf kitaplığı şablonları için güncelleştirmeleri içerir:Visual Studio 2013 Update 2 includes updates to the Portable Class Library templates to support these scenarios:

    • Windows çalışma zamanı API'leri, Windows 8.1, Windows Phone 8.1 ve Windows Phone Silverlight 8.1 hedefleyen taşınabilir kitaplıkları kullanabilirsiniz.You can use Windows Runtime APIs in portable libraries that target Windows 8.1, Windows Phone 8.1, and Windows Phone Silverlight 8.1.

    • Windows 8.1 veya Windows Phone 8.1 hedeflediğinizde, taşınabilir kitaplıklara XAML (Windows.UI.XAML türleri için) ekleyebilirsiniz.You can include XAML (Windows.UI.XAML types) in portable libraries when you target Windows 8.1 or Windows Phone 8.1. Aşağıdaki XAML şablonları desteklenir: boş bir sayfa, kaynak sözlüğü, şablonlu denetim ve kullanıcı denetimi.The following XAML templates are supported: Blank Page, Resource Dictionary, Templated Control, and User Control.

    • Hedef Windows 8.1 ve Windows Phone 8.1 mağazası uygulamaları kullanmak için bir taşınabilir Windows çalışma zamanı bileşeni (.winmd dosyası) oluşturabilirsiniz.You can create a portable Windows Runtime component (.winmd file) for use in Store apps that target Windows 8.1 and Windows Phone 8.1.

    • Taşınabilir sınıf kitaplığı gibi bir Windows mağazası veya Windows Phone mağazası sınıf kitaplığı yeniden hedefleyin.You can retarget a Windows Store or Windows Phone Store class library like a Portable Class Library.

    Bu değişiklikler hakkında daha fazla bilgi için bkz: taşınabilir sınıf kitaplığı.For more information about these changes, see Portable Class Library.

  • Şimdi .NET Framework belgelerine içeriği .NET Yerel.NET Native, oluşturma ve Windows uygulamalarını dağıtmak için bir ön derleme teknoloji olduğu.The .NET Framework content set now includes documentation for .NET Yerel.NET Native, which is a precompilation technology for building and deploying Windows apps. .NET Yerel.NET Native uygulamalarınızı Ara dile (IL) yerine, doğrudan yerel kod için daha iyi performans için derler. compiles your apps directly to native code, rather than to intermediate language (IL), for better performance. Ayrıntılar için bkz .NET yerel ile derleme uygulamaları.For details, see Compiling Apps with .NET Native.

  • .NET Framework başvuru kaynağı yeni gözatma deneyimini ve gelişmiş işlevsellik sağlar.The .NET Framework Reference Source provides a new browsing experience and enhanced functionality. .NET Framework kaynak kodu çevrimiçi gözatabilirsiniz başvurusunu karşıdan çevrimdışı izleme ve hata ayıklama sırasında (düzeltme eklerini ve güncelleştirmeleri dahil) kaynakları ilerleyebilirsiniz.You can now browse through the .NET Framework source code online, download the reference for offline viewing, and step through the sources (including patches and updates) during debugging. Daha fazla bilgi için blog girişine bakın .NET başvuru kaynağı için yeni bir görünüm.For more information, see the blog entry A new look for .NET Reference Source.

Çekirdek yeni özellikler ve .NET Framework 4.5.1'deki geliştirmeler şunları içerir:Core new features and enhancements in the .NET Framework 4.5.1 include:

  • Otomatik bağlama yönlendirmesini derlemeler için.Automatic binding redirection for assemblies. İle başlayarak Visual Studio 2013Visual Studio 2013, hedefleyen bir uygulamayı derlediğinizde .NET Framework 4.5.1.NET Framework 4.5.1, bağlama yeniden yönlendirmeleri eklenebilir uygulama yapılandırma dosyasına uygulamanız veya bileşenlerinin aynı bütünleştirilmiş kodda birden fazla sürümünü başvurursanız.Starting with Visual Studio 2013Visual Studio 2013, when you compile an app that targets the .NET Framework 4.5.1.NET Framework 4.5.1, binding redirects may be added to the app configuration file if your app or its components reference multiple versions of the same assembly. Bu özellik .NET Framework'ün daha eski sürümlerini hedefleyen projeler için de etkinleştirebilirsiniz.You can also enable this feature for projects that target older versions of the .NET Framework. Daha fazla bilgi için bkz: nasıl yapılır: etkinleştirme ve devre dışı bırakmak, bağlama otomatik yeniden yönlendirme.For more information, see How to: Enable and Disable Automatic Binding Redirection.

  • Sunucu ve bulut uygulamalarının performansını geliştiricilere yardımcı olmak için tanılama bilgilerini toplamak için yeteneği.Ability to collect diagnostics information to help developers improve the performance of server and cloud applications. Daha fazla bilgi için bkz: WriteEventWithRelatedActivityId ve WriteEventWithRelatedActivityIdCore yöntemleri EventSource sınıfı.For more information, see the WriteEventWithRelatedActivityId and WriteEventWithRelatedActivityIdCore methods in the EventSource class.

  • Açıkça (LOH) büyük nesne yığın çöp toplama sırasında compact yeteneği.Ability to explicitly compact the large object heap (LOH) during garbage collection. Daha fazla bilgi için bkz: GCSettings.LargeObjectHeapCompactionMode özelliği.For more information, see the GCSettings.LargeObjectHeapCompactionMode property.

  • .NET Framework sonra ek performans iyileştirmeleri ASP.NET uygulama askıya alma, çok çekirdekli JIT geliştirmeleri ve daha hızlı bir uygulama başlatma gibi güncelleştirin.Additional performance improvements such as ASP.NET app suspension, multi-core JIT improvements, and faster app startup after a .NET Framework update. Ayrıntılar için bkz .NET Framework 4.5.1 duyuru ve ASP.NET uygulama askıya blog postası.For details, see the .NET Framework 4.5.1 announcement and the ASP.NET app suspend blog post.

Windows Forms geliştirmeler:Improvements to Windows Forms include:

  • Windows Forms denetimleri yeniden boyutlandırma.Resizing in Windows Forms controls. Uygulamanız için uygulama yapılandırma dosyasına (app.config) bir giriş oturum kullanmama tarafından denetimleri (örneğin, bir özellik kılavuzunda görünmesini simgeleri) bileşenlerinin yeniden boyutlandırmak için sistem DPI ayarı kullanabilirsiniz.You can use the system DPI setting to resize components of controls (for example, the icons that appear in a property grid) by opting in with an entry in the application configuration file (app.config) for your app. Bu özellik şu anda aşağıdaki Windows Forms denetimlerinde desteklenir:This feature is currently supported in the following Windows Forms controls:

    PropertyGrid TreeView Bazı yönlerini DataGridView (bkz 4.5.2'deki yeni özellikler desteklenen ek denetimler için)PropertyGrid TreeView Some aspects of the DataGridView (see new features in 4.5.2 for additional controls supported)

    Bu özelliği etkinleştirmek için yeni bir ekleme <appSettings > ayarlama ve yapılandırma dosyası (app.config) öğesine EnableWindowsFormsHighDpiAutoResizing öğesine true:To enable this feature, add a new <appSettings> element to the configuration file (app.config) and set the EnableWindowsFormsHighDpiAutoResizing element to true:

    <appSettings>
       <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" />
    </appSettings>
    

.NET Framework uygulamalarında hata ayıklama sırasında geliştirmeleri Visual Studio 2013Visual Studio 2013 içerir:Improvements when debugging your .NET Framework apps in Visual Studio 2013Visual Studio 2013 include:

  • Visual Studio Hata Ayıklayıcısı'ndaki dönüş değerleri.Return values in the Visual Studio debugger. Yönetilen bir uygulamada hata ayıklama zaman, Visual Studio 2013Visual Studio 2013, türleri ve yöntemleri için değerleri otomatik değişkenler penceresi görüntüler döndürür.When you debug a managed app in Visual Studio 2013Visual Studio 2013, the Autos window displays return types and values for methods. Bu bilgiler, masaüstü, Windows mağazası ve Windows Phone uygulamaları için kullanılabilir.This information is available for desktop, Windows Store, and Windows Phone apps. Daha fazla bilgi için bkz: inceleyin dönüş değerleri yöntem çağrılarının MSDN Kitaplığı'nda.For more information, see Examine return values of method calls in the MSDN Library.

  • Düzenle ve devam et 64-bit uygulamalar için.Edit and Continue for 64-bit apps. Visual Studio 2013Visual Studio 2013 yönetilen uygulamaların Masaüstü, Windows mağazası ve Windows Phone için 64-bit Düzenle ve devam et özelliğini destekler. supports the Edit and Continue feature for 64-bit managed apps for desktop, Windows Store, and Windows Phone. 32 bit ve 64-bit uygulamaları için mevcut kısıtlamaları yürürlükte kalır (son Kısım bkz desteklenen kod değişiklikleri (C#) makale).The existing limitations remain in effect for both 32-bit and 64-bit apps (see the last section of the Supported Code Changes (C#) article).

  • Zaman uyumsuz algılayan hata ayıklama.Async-aware debugging. Zaman uyumsuz uygulamalarda hata ayıklama kolaylaştırmak için Visual Studio 2013Visual Studio 2013çağrı yığını zaman uyumsuz programlama desteği derleyicileri tarafından sağlanan altyapı kodu gizler ve aynı zamanda mantıksal izleyebilirsiniz şekilde mantıksal üst çerçeveler zincirde yürütme daha program açıkça.To make it easier to debug asynchronous apps in Visual Studio 2013Visual Studio 2013, the call stack hides the infrastructure code provided by compilers to support asynchronous programming, and also chains in logical parent frames so you can follow logical program execution more clearly. Görevleri penceresini Paralel Görevler penceresi değiştirir ve için belirli bir kesme noktası ile ilgili görevleri görüntüler ve ayrıca şu anda etkin ya da uygulama zamanlanmış diğer görevleri görüntüler.A Tasks window replaces the Parallel Tasks window and displays tasks that relate to a particular breakpoint, and also displays any other tasks that are currently active or scheduled in the app. Bu özellik "zaman uyumsuz algılayan hata ayıklama" bölümündeki hakkında bilgi edinebilirsiniz .NET Framework 4.5.1 duyuru.You can read about this feature in the "Async-aware debugging" section of the .NET Framework 4.5.1 announcement.

  • Windows çalışma zamanı bileşenleri için daha iyi özel durum desteği.Better exception support for Windows Runtime components. İçinde Windows 8.1Windows 8.1, Windows mağazası uygulamaları çıkan özel durumları korumak bile dil sınırlarında özel duruma neden oldu hata hakkındaki bilgi.In Windows 8.1Windows 8.1, exceptions that arise from Windows Store apps preserve information about the error that caused the exception, even across language boundaries. "Windows mağazası uygulaması geliştirme" bölümünü'deki bu özellik hakkında bilgi edinebilirsiniz .NET Framework 4.5.1 duyuru.You can read about this feature in the "Windows Store app development" section of the .NET Framework 4.5.1 announcement.

İle başlayarak Visual Studio 2013Visual Studio 2013, kullanabileceğiniz yönetilen profil temelli iyileştirme Aracı (Mpgo.exe) en iyi duruma getirme Windows 8.x MağazasıWindows 8.x Store masaüstü uygulamalarının yanı sıra uygulamaları.Starting with Visual Studio 2013Visual Studio 2013, you can use the Managed Profile Guided Optimization Tool (Mpgo.exe) to optimize Windows 8.x MağazasıWindows 8.x Store apps as well as desktop apps.

ASP.NET 4.5.1 yeni özellikler için bkz: ASP.NET 4.5.1 ve Visual Studio 2013 ASP.NET sitesinde.For new features in ASP.NET 4.5.1, see ASP.NET 4.5.1 and Visual Studio 2013 on the ASP.NET site.

Başa dönBack to top

.NET Framework 4. 5 ' yenilikler nelerdir?What's new in the .NET Framework 4.5

Çekirdek yeni özellikleri ve geliştirmeleriCore new features and improvements

  • Reduce sistemi yeteneği algılama ve dağıtım sırasında .NET Framework 4 uygulamaları kapatarak yeniden başlatır.Ability to reduce system restarts by detecting and closing .NET Framework 4 applications during deployment. Bkz: sistem yeniden başlatmalarını azaltma .NET Framework 4.5 yüklemeleri sırasında.See Reducing System Restarts During .NET Framework 4.5 Installations.

  • 64 bit platformlarda 2 gigabayt (GB) büyük diziler için destek.Support for arrays that are larger than 2 gigabytes (GB) on 64-bit platforms. Bu özellik, uygulama yapılandırma dosyasında etkinleştirilebilir.This feature can be enabled in the application configuration file. Bkz: <gcAllowVeryLargeObjects > öğesi, nesne boyutu ve dizi büyüklüğü diğer kısıtlamalar da listelerinin.See the <gcAllowVeryLargeObjects> element, which also lists other restrictions on object size and array size.

  • Daha iyi performans sunucuları için arka plan çöp toplama yoluyla.Better performance through background garbage collection for servers. Sunucu çöp toplama kullandığınızda .NET Framework 4.5.NET Framework 4.5, arka plan çöp toplama otomatik olarak etkinleştirilir.When you use server garbage collection in the .NET Framework 4.5.NET Framework 4.5, background garbage collection is automatically enabled. Arka plan sunucu çöp toplama bölümüne bakın çöp toplama Temelleri konu.See the Background Server Garbage Collection section of the Fundamentals of Garbage Collection topic.

  • İsteğe bağlı olarak uygulama performansını artırmak için çok çekirdekli işlemciler kullanılabildiğinden arka plan tam zamanında (JIT) derleme.Background just-in-time (JIT) compilation, which is optionally available on multi-core processors to improve application performance. Bkz: ProfileOptimization.See ProfileOptimization.

  • Ne kadar normal ifade altyapısı sınırlama yeteneği normal bir ifade zaman aşımına uğramadan önce çözümlemeye çalışır. Bkz: Regex.MatchTimeout özelliği.Ability to limit how long the regular expression engine will attempt to resolve a regular expression before it times out. See the Regex.MatchTimeout property.

  • Uygulama etki alanı için varsayılan kültürü tanımlama yeteneği.Ability to define the default culture for an application domain. Bkz: CultureInfo sınıfı.See the CultureInfo class.

  • Unicode (UTF-16) kodlama için konsol desteği.Console support for Unicode (UTF-16) encoding. Bkz: Console sınıfı.See the Console class.

  • Sürüm oluşturma kültürel dize sıralama ve karşılaştırma veri desteği.Support for versioning of cultural string ordering and comparison data. Bkz: SortVersion sınıfı.See the SortVersion class.

  • Kaynaklar alınırken daha iyi performans.Better performance when retrieving resources. Bkz: paketleme ve dağıtma kaynakları.See Packaging and Deploying Resources.

  • Sıkıştırılmış bir dosya boyutunu azaltmak için ZIP sıkıştırma geliştirmeleri.Zip compression improvements to reduce the size of a compressed file. Bkz: System.IO.Compression ad alanı.See the System.IO.Compression namespace.

  • Aracılığıyla varsayılan yansıma davranışını geçersiz kılmak için bir yansıma bağlamı özelleştirebilme CustomReflectionContext sınıfı.Ability to customize a reflection context to override default reflection behavior through the CustomReflectionContext class.

  • Uluslararası yapılan etki alanı adları (IDNA) uygulamaları 2008 sürümü için destek standart olduğunda System.Globalization.IdnMapping sınıfı kullanılan Windows 8Windows 8.Support for the 2008 version of the Internationalized Domain Names in Applications (IDNA) standard when the System.Globalization.IdnMapping class is used on Windows 8Windows 8.

  • Dize karşılaştırması Unicode 6.0, .NET Framework kullanıldığında gerçekleştiren işletim sistemi, temsilinin Windows 8Windows 8.Delegation of string comparison to the operating system, which implements Unicode 6.0, when the .NET Framework is used on Windows 8Windows 8. Diğer platformlarda çalıştırırken, .NET Framework Unicode uygulayan kendi dize karşılaştırma verileri içeren 5.x.When running on other platforms, the .NET Framework includes its own string comparison data, which implements Unicode 5.x. Bkz: String sınıfı ve Açıklamalar bölümüne SortVersion sınıfı.See the String class and the Remarks section of the SortVersion class.

  • Karma kodlarını dizeleri üzerinde işlem yeteneği bir uygulama etki alanı temelinde.Ability to compute the hash codes for strings on a per application domain basis. Bkz: <UseRandomizedStringHashAlgorithm > öğesi.See <UseRandomizedStringHashAlgorithm> Element.

  • Türü arasında bölme yansıma desteği Type ve TypeInfo sınıfları.Type reflection support split between Type and TypeInfo classes. Bkz: Windows mağazası uygulamaları için .NET Framework'te yansıma.See Reflection in the .NET Framework for Windows Store Apps.

Managed Extensibility Framework (MEF)Managed Extensibility Framework (MEF)

İçinde .NET Framework 4.5.NET Framework 4.5, Yönetilen Genişletilebilirlik Çerçevesi (MEF) aşağıdaki yeni özellikleri sağlar:In the .NET Framework 4.5.NET Framework 4.5, the Managed Extensibility Framework (MEF) provides the following new features:

  • Genel türler için destek.Support for generic types.

  • Öznitelikleri yerine adlandırma kurallarına göre parçaları oluşturmanızı sağlayan kurala dayalı programlama modeli.Convention-based programming model that enables you to create parts based on naming conventions rather than attributes.

  • Birden çok kapsamı.Multiple scopes.

  • Bir alt kümesini, oluştururken kullanabileceğiniz MEF Windows 8.x MağazasıWindows 8.x Store uygulamalar.A subset of MEF that you can use when you create Windows 8.x MağazasıWindows 8.x Store apps. Bu alt olarak kullanılabilir bir indirilebilir paket NuGet galerisinden.This subset is available as a downloadable package from the NuGet Gallery. Paketi yüklemek için projenizi Visual Studio'da açın, seçin NuGet paketlerini Yönet gelen proje menü ve çevrimiçi arama Microsoft.Composition paket.To install the package, open your project in Visual Studio, choose Manage NuGet Packages from the Project menu, and search online for the Microsoft.Composition package.

Daha fazla bilgi için bkz: Yönetilen Genişletilebilirlik Çerçevesi (MEF).For more information, see Managed Extensibility Framework (MEF).

Zaman uyumsuz dosya işlemleriAsynchronous file operations

İçinde .NET Framework 4.5.NET Framework 4.5, yeni zaman uyumsuz özellikler, C# ve Visual Basic dili için eklenmiştir.In the .NET Framework 4.5.NET Framework 4.5, new asynchronous features were added to the C# and Visual Basic languages. Bu özellikler, zaman uyumsuz işlemleri gerçekleştirmek için bir görev tabanlı modeli ekleyin.These features add a task-based model for performing asynchronous operations. Bu yeni model kullanmak için g/ç sınıfları zaman uyumsuz yöntemleri kullanın.To use this new model, use the asynchronous methods in the I/O classes. Bkz: zaman uyumsuz dosya g/ç.See Asynchronous File I/O.

AraçlarTools

İçinde .NET Framework 4.5.NET Framework 4.5, kaynak dosya oluşturucu (Resgen.exe) kullanmak için .resw dosya oluşturmanıza olanak sağlar Windows 8.x MağazasıWindows 8.x Store .resources dosyası uygulamalardan katıştırılmış bir .NET Framework derleme.In the .NET Framework 4.5.NET Framework 4.5, Resource File Generator (Resgen.exe) enables you to create a .resw file for use in Windows 8.x MağazasıWindows 8.x Store apps from a .resources file embedded in a .NET Framework assembly. Daha fazla bilgi için bkz: Resgen.exe (kaynak dosya oluşturucu).For more information, see Resgen.exe (Resource File Generator).

Yönetilen profil temelli iyileştirme (Mpgo.exe), yerel görüntü derlemeleri iyileştirerek uygulama başlangıç zamanı, bellek kullanımı (çalışma kümesi boyutu) ve verimliliği artırmak sağlar.Managed Profile Guided Optimization (Mpgo.exe) enables you to improve application startup time, memory utilization (working set size), and throughput by optimizing native image assemblies. Komut satırı aracı yerel görüntü uygulama derlemeler için profil verileri oluşturur.The command-line tool generates profile data for native image application assemblies. Bkz: Mpgo.exe (yönetilen profil temelli iyileştirme aracı).See Mpgo.exe (Managed Profile Guided Optimization Tool). İle başlayarak Visual Studio 2013Visual Studio 2013, Mpgo.exe en iyi duruma getirmek için kullanabileceğiniz Windows 8.x MağazasıWindows 8.x Store masaüstü uygulamalarının yanı sıra uygulamaları.Starting with Visual Studio 2013Visual Studio 2013, you can use Mpgo.exe to optimize Windows 8.x MağazasıWindows 8.x Store apps as well as desktop apps.

Paralel bilgi işlemParallel computing

.NET Framework 4.5.NET Framework 4.5 Birkaç yeni özellik ve paralel bilgi işlem geliştirmeleri sağlar.The .NET Framework 4.5.NET Framework 4.5 provides several new features and improvements for parallel computing. Bunlar, Gelişmiş performans, daha yüksek denetim, zaman uyumsuz programlama için geliştirilmiş destek, yeni veri akışı kitaplığı ve paralel hata ayıklama ve performans analizi için gelişmiş destek içerir.These include improved performance, increased control, improved support for asynchronous programming, a new dataflow library, and improved support for parallel debugging and performance analysis. Girişine bakın .NET 4.5 paralellik yenilikler paralel programlama .NET blog ile içinde.See the entry What’s New for Parallelism in .NET 4.5 in the Parallel Programming with .NET blog.

WebWeb

ASP.NET 4.5 ve 4.5.1 Web Forms, WebSocket desteği, zaman uyumsuz işleyicileri, performans geliştirmeleri ve diğer birçok özellik için model bağlama ekleyin.ASP.NET 4.5 and 4.5.1 add model binding for Web Forms, WebSocket support, asynchronous handlers, performance enhancements, and many other features. Daha fazla bilgi için aşağıdaki kaynaklara bakın:For more information, see the following resources:

Ağ OluşturmaNetworking

.NET Framework 4.5.NET Framework 4.5 HTTP uygulamaları için yeni bir programlama arabirimi sağlar.The .NET Framework 4.5.NET Framework 4.5 provides a new programming interface for HTTP applications. Daha fazla bilgi için yeni bkz System.Net.Http ve System.Net.Http.Headers ad alanları.For more information, see the new System.Net.Http and System.Net.Http.Headers namespaces.

Destek eklenmiştir de kabul etmek ve varolan kullanarak WebSocket bağlantısı ile etkileşmek için yeni bir programlama arabirimi için HttpListener ve ilgili sınıflar.Support is also included for a new programming interface for accepting and interacting with a WebSocket connection by using the existing HttpListener and related classes. Daha fazla bilgi için yeni bkz System.Net.WebSockets ad alanı ve HttpListener sınıfı.For more information, see the new System.Net.WebSockets namespace and the HttpListener class.

Ayrıca, .NET Framework 4.5.NET Framework 4.5 aşağıdaki ağ geliştirmeleri içerir:In addition, the .NET Framework 4.5.NET Framework 4.5 includes the following networking improvements:

  • RFC uyumlu URI desteği.RFC-compliant URI support. Daha fazla bilgi için bkz: Uri ve ilgili sınıflar.For more information, see Uri and related classes.

  • Uluslararası yapılan etki alanı adı (IDN) ayrıştırma desteği.Support for Internationalized Domain Name (IDN) parsing. Daha fazla bilgi için bkz: Uri ve ilgili sınıflar.For more information, see Uri and related classes.

  • E-posta adresi uluslararası hale getirme (EAI) desteği.Support for Email Address Internationalization (EAI). Daha fazla bilgi için bkz: System.Net.Mail ad alanı.For more information, see the System.Net.Mail namespace.

  • Geliştirilmiş IPv6 desteği.Improved IPv6 support. Daha fazla bilgi için bkz: System.Net.NetworkInformation ad alanı.For more information, see the System.Net.NetworkInformation namespace.

  • Çift modlu yuva desteği.Dual-mode socket support. Daha fazla bilgi için bkz: Socket ve TcpListener sınıfları.For more information, see the Socket and TcpListener classes.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF)

İçinde .NET Framework 4.5.NET Framework 4.5, Windows Presentation Foundation (WPF), değişiklikler ve aşağıdaki alanlarda geliştirmeler içerir:In the .NET Framework 4.5.NET Framework 4.5, Windows Presentation Foundation (WPF) contains changes and improvements in the following areas:

  • Yeni Ribbon hızlı erişim araç çubuğu, uygulama menüsü ve sekmeleri barındıran bir Şerit kullanıcı arabirimini sağlar denetim.The new Ribbon control, which enables you to implement a ribbon user interface that hosts a Quick Access Toolbar, Application Menu, and tabs.

  • Yeni INotifyDataErrorInfo zaman uyumlu ve zaman uyumsuz veri doğrulamayı destekleyip arabirimi.The new INotifyDataErrorInfo interface, which supports synchronous and asynchronous data validation.

  • İçin yeni özellikler VirtualizingPanel ve Dispatcher sınıfları.New features for the VirtualizingPanel and Dispatcher classes.

  • Büyük görüntülerken, Gelişmiş performans gruplandırılmış veri ve kullanıcı Arabirimi iş parçacıkları koleksiyonlarında erişerek ayarlar.Improved performance when displaying large sets of grouped data, and by accessing collections on non-UI threads.

  • Veri bağlama için statik özellikleri, veri özel bağlama uygulayan türleri ICustomTypeProvider arabirimi ve bağlama ifadesinden veri bağlama bilgileri alma.Data binding to static properties, data binding to custom types that implement the ICustomTypeProvider interface, and retrieval of data binding information from a binding expression.

  • (Dinamik şekillendirme) değerlerini değiştirmek gibi veri yeniden konumlandırma.Repositioning of data as the values change (live shaping).

  • Bir öğe kapsayıcısı için veri bağlamı bağlantısı olup olmadığını denetleme yeteneği.Ability to check whether the data context for an item container is disconnected.

  • Özellik değişiklikleri ve veri kaynağı güncelleştirmelerini arasında geçmesi gereken süreyi ayarlama kabiliyeti.Ability to set the amount of time that should elapse between property changes and data source updates.

  • Zayıf olay desenleri uygulama için geliştirilmiş destek.Improved support for implementing weak event patterns. Ayrıca, olayları artık biçimlendirme uzantıları kabul edebilir.Also, events can now accept markup extensions.

Windows Communication Foundation (WCF)Windows Communication Foundation (WCF)

İçinde .NET Framework 4.5.NET Framework 4.5, yazma ve Windows Communication Foundation (WCF) uygulamaları korumak daha kolay yapmak için aşağıdaki özellikler eklenmiştir:In the .NET Framework 4.5.NET Framework 4.5, the following features have been added to make it simpler to write and maintain Windows Communication Foundation (WCF) applications:

  • Oluşturulan yapılandırma dosyalarında basitleştirme.Simplification of generated configuration files.

  • Önce anlaşma geliştirme desteği.Support for contract-first development.

  • ASP.NET uyumluluğu modunu daha kolay yapılandırma yeteneği.Ability to configure ASP.NET compatibility mode more easily.

  • Değişiklikleri varsayılan bunları tahsis etmek zorunda kalacaksınız olasılığını azaltmak için özellik değerlerini taşıma.Changes in default transport property values to reduce the likelihood that you will have to set them.

  • Güncelleştirmeleri XmlDictionaryReaderQuotas kotaları XML sözlük okuyucular için el ile yapılandırmanız gerekecektir olasılığını azaltmak için sınıf.Updates to the XmlDictionaryReaderQuotas class to reduce the likelihood that you will have to manually configure quotas for XML dictionary readers.

  • WCF yapılandırma dosyaları Visual Studio tarafından doğrulanmasını uygulamanızı çalıştırmadan önce yapılandırma hataları algılayabilmesi için derleme işleminin parçası olarak.Validation of WCF configuration files by Visual Studio as part of the build process, so you can detect configuration errors before you run your application.

  • Yeni zaman uyumsuz akış desteği.New asynchronous streaming support.

  • Internet Information Services (IIS) ile HTTPS üzerinden bir uç nokta kullanıma kolaylaştırmak için yeni HTTPS protokolü eşleme.New HTTPS protocol mapping to make it easier to expose an endpoint over HTTPS with Internet Information Services (IIS).

  • Meta verileri tek bir WSDL belgesinde ekleyerek oluşturmak yeteneği ?singleWSDL hizmet URL'si için.Ability to generate metadata in a single WSDL document by appending ?singleWSDL to the service URL.

  • Bağlantı noktaları 80 ve 443 numaralı TCP taşıma benzer performans özellikleri ile üzerinden true çift yönlü iletişimi etkinleştirmek için Websockets destekler.Websockets support to enable true bidirectional communication over ports 80 and 443 with performance characteristics similar to the TCP transport.

  • Hizmetlerini kodda yapılandırma desteği.Support for configuring services in code.

  • XML Düzenleyicisi araç ipuçları.XML Editor tooltips.

  • ChannelFactory Destek önbelleğe alma.ChannelFactory caching support.

  • İkili kodlama sıkıştırma desteği.Binary encoder compression support.

  • "Yangın ve unut" kullanan hizmetler yazmak geliştiricilerinin UDP taşıma için destek Mesajlaşma.Support for a UDP transport that enables developers to write services that use "fire and forget" messaging. Bir istemci bir hizmete bir ileti gönderir ve hizmet yanıt bekliyor.A client sends a message to a service and expects no response from the service.

  • Birden çok kimlik doğrulama modları tek bir WCF uç noktasında HTTP taşıma ve taşıma güvenliği kullanırken destekleyebilmek için.Ability to support multiple authentication modes on a single WCF endpoint when using the HTTP transport and transport security.

  • Kullanan WCF hizmetleri için destek Uluslararası yapılan etki alanı adlarını (IDN'ler).Support for WCF services that use internationalized domain names (IDNs).

Daha fazla bilgi için bkz: Windows Communication Foundation yenilikler.For more information, see What's New in Windows Communication Foundation.

Windows Workflow Foundation (WF)Windows Workflow Foundation (WF)

İçinde .NET Framework 4.5.NET Framework 4.5, birçok yeni özellik Windows Workflow Foundation (WF) için eklenen dahil olmak üzere:In the .NET Framework 4.5.NET Framework 4.5, several new features were added to Windows Workflow Foundation (WF), including:

  • Durum 4.0.1 .NET Framework'ün bir parçası olarak ilk kez sunulan makine iş akışları (.NET Framework 4 Platform Güncelleştirmesi 1).State machine workflows, which were first introduced as part of the .NET Framework 4.0.1 (.NET Framework 4 Platform Update 1). Bu, birkaç yeni sınıflar ve Durum makinesi iş akışları oluşturmak geliştiriciler etkin etkinlikler güncelleştirmenin.This update included several new classes and activities that enabled developers to create state machine workflows. Bu sınıf ve etkinlikler için güncelleştirildi .NET Framework 4.5.NET Framework 4.5 eklemek için:These classes and activities were updated for the .NET Framework 4.5.NET Framework 4.5 to include:

    • Kesme noktaları durumlarına ayarlayabilme.The ability to set breakpoints on states.

    • Geçişler iş akışı Tasarımcısı'nda kopyalayıp yeteneği.The ability to copy and paste transitions in the workflow designer.

    • Tasarımcı desteği paylaşılan tetikleyici geçiş oluşturma.Designer support for shared trigger transition creation.

    • Etkinlikler dahil olmak üzere Durum makinesi iş akışlarını oluşturmak için: StateMachine, State, ve Transition.Activities for creating state machine workflows, including: StateMachine, State, and Transition.

  • Aşağıdaki gibi gelişmiş iş akışı Tasarımcısı özellikleri:Enhanced Workflow Designer features such as the following:

    • Geliştirilmiş Visual Studio iş akışı arama yetenekleri de dahil olmak üzere Hızlı Bul'u ve dosyalarda Bul.Enhanced workflow search capabilities in Visual Studio, including Quick Find and Find in Files.

    • İkinci bir alt etkinlik, kapsayıcı bir etkinliğe eklendiğinde, otomatik olarak bir dizi etkinlik oluşturmak ve her iki etkinlikleri sıralı etkinlik eklemek için yeteneği.Ability to automatically create a Sequence activity when a second child activity is added to a container activity, and to include both activities in the Sequence activity.

    • Destek kaydırma, kaydırma çubukları kullanmadan değiştirilmesi için bir iş akışı görünen dilimini sağlar.Panning support, which enables the visible portion of a workflow to be changed without using the scroll bars.

    • Yeni bir belge anahattı bir iş akışı bileşenleri bir ağaç stili anahat görünümünde gösterilir ve olanak tanır görünümü seçin bir bileşenin belge anahattı görünümü.A new Document Outline view that shows the components of a workflow in a tree-style outline view and lets you select a component in the Document Outline view.

    • Etkinlikler için ek açıklamalar ekleme yeteneği.Ability to add annotations to activities.

    • Tanımlama ve iş akışı Tasarımcısı kullanarak etkinlik temsilcileri kullanma olanağı.Ability to define and consume activity delegates by using the workflow designer.

    • Otomatik olarak bağlanabilir ve etkinliklerini ve durumunu makine ve akış iş akışlarında geçişler için otomatik ekleme.Auto-connect and auto-insert for activities and transitions in state machine and flowchart workflows.

  • Bir iş akışı XAML dosyasındaki kolayca bulun ve görünüm durumu bilgilerini düzenlemek için tek bir öğede görünüm durumu bilgilerini depolama.Storage of the view state information for a workflow in a single element in the XAML file, so you can easily locate and edit the view state information.

  • Kalıcı gelen alt etkinlikler önlemek için NoPersistScope kapsayıcı bir etkinliğe.A NoPersistScope container activity to prevent child activities from persisting.

  • C# ifadeler için destek:Support for C# expressions:

    • Visual Basic kullanan iş akışı projeleri Visual Basic ifadeleri kullanır ve C# iş akışı projeleri için C# ifadeleri kullanır.Workflow projects that use Visual Basic will use Visual Basic expressions, and C# workflow projects will use C# expressions.

    • Visual Studio 2010'da oluşturulan ve Visual Basic ifadeleri olan C# iş akışı projeleri için C# ifadeleri kullanan C# iş akışı projeleri ile uyumlu değildir.C# workflow projects that were created in Visual Studio 2010 and that have Visual Basic expressions are compatible with C# workflow projects that use C# expressions.

  • Sürüm oluşturma geliştirmeleri:Versioning enhancements:

    • Yeni WorkflowIdentity kalıcı iş akışı örneği ve iş akışı tanımı arasında bir eşleme sağlayan sınıf.The new WorkflowIdentity class, which provides a mapping between a persisted workflow instance and its workflow definition.

    • Yan yana yürütme dahil olmak üzere aynı ana bilgisayar, birden çok iş akışı sürümlerinde WorkflowServiceHost.Side-by-side execution of multiple workflow versions in the same host, including WorkflowServiceHost.

    • Dinamik güncelleştirme kalıcı iş akışı örneği tanımını değiştirme olanağı.In Dynamic Update, the ability to modify the definition of a persisted workflow instance.

  • Sözleşme ilk iş akışı hizmeti geliştirme var olan bir hizmet sözleşmesini eşleşecek şekilde etkinlikler otomatik olarak oluşturmak için destek sağlar.Contract-first workflow service development, which provides support for automatically generating activities to match an existing service contract.

Daha fazla bilgi için bkz: Windows Workflow Foundation yenilikler.For more information, see What's New in Windows Workflow Foundation.

Windows 8.x Mağazası uygulamaları için .NET.NET for Windows 8.x Store apps

Windows 8.x MağazasıWindows 8.x Store Uygulamalar belirli form faktörleri için tasarlanmıştır ve Windows işletim sisteminin güç yararlanın. apps are designed for specific form factors and leverage the power of the Windows operating system. Bir alt kümesini .NET Framework 4.5.NET Framework 4.5 veya 4.5.1 için yapı kullanılabilir Windows 8.x MağazasıWindows 8.x Store C# veya Visual Basic kullanarak Windows için uygulamalar.A subset of the .NET Framework 4.5.NET Framework 4.5 or 4.5.1 is available for building Windows 8.x MağazasıWindows 8.x Store apps for Windows by using C# or Visual Basic. Bu alt adlı Windows 8.x Mağazası uygulamaları için .NET.NET for Windows 8.x Store apps ve içinde ele alınmıştır bir genel bakış Windows geliştirme Merkezi'ndeki.This subset is called Windows 8.x Mağazası uygulamaları için .NET.NET for Windows 8.x Store apps and is discussed in an overview in the Windows Dev Center.

Taşınabilir sınıf kitaplıklarıPortable Class Libraries

Taşınabilir sınıf kitaplığı projesinde Visual Studio 2012Visual Studio 2012 (ve sonraki sürümler), yazma ve Yönetilen derlemeler çalışan birden çok .NET Framework platformda yapı sağlar.The Portable Class Library project in Visual Studio 2012Visual Studio 2012 (and later versions) enables you to write and build managed assemblies that work on multiple .NET Framework platforms. Taşınabilir sınıf kitaplığı proje kullanarak platformlarını seçin (Windows Phone gibi ve Windows 8.x Mağazası uygulamaları için .NET.NET for Windows 8.x Store apps) hedef.Using a Portable Class Library project, you choose the platforms (such as Windows Phone and Windows 8.x Mağazası uygulamaları için .NET.NET for Windows 8.x Store apps) to target. Kullanılabilir türler ve projenizdeki üyeleri bu platformları arasında ortak türleri ve üyeleri için otomatik olarak kısıtlanır.The available types and members in your project are automatically restricted to the common types and members across these platforms. Daha fazla bilgi için bkz: taşınabilir sınıf kitaplığı.For more information, see Portable Class Library.

Ayrıca Bkz.See Also

.NET Framework ve bant dışı yayınlar The .NET Framework and Out-of-Band Releases
Erişilebilirlik .NET Framework'teki yenilikler What's new in accessibility in the .NET Framework
Visual Studio 2017 yenilikler What's New in Visual Studio 2017
ASP.NET ASP.NET
Visual c++'ta yenilikler nelerdir?What’s New in Visual C++