<AppContextSwitchOverrides> öğesi

Sınıfı tarafından AppContext yeni işlevler için bir geri çevirme mekanizması sağlamak için kullanılan bir veya daha fazla anahtarı tanımlar.

<Yapılandırma>
  <Çalışma zamanı>
    <AppContextSwitchOverrides>

Sözdizimi

<AppContextSwitchOverrides value="name1=value1[[;name2=value2];...]" />

Öznitelikler ve Öğeler

Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.

Özellikler

Öznitelik Açıklama
value Gerekli. Bir veya daha fazla anahtar adını ve ilişkili Boole değerlerini tanımlar.

value Özniteliği

Value Açıklama
"name=value" Değeritrue ( veya false) ile birlikte önceden tanımlanmış bir anahtar adı. Birden çok anahtar adı/değer çifti noktalı virgülle (";") ayrılır. .NET Framework tarafından desteklenen önceden tanımlanmış anahtar adlarının listesi için Açıklamalar bölümüne bakın.

Alt Öğeler

Yok.

Üst Öğeler

Öğe Açıklama
configuration Her yapılandırma dosyasında yer alan ve ortak dil çalışma zamanı ve .NET Framework uygulamaları tarafından kullanılan kök öğe.
runtime Çalışma zamanı başlatma seçenekleri hakkında bilgi içerir.

Açıklamalar

.NET Framework 4.6'dan başlayarak, yapılandırma dosyasındaki öğesi, <AppContextSwitchOverrides> API çağıranların uygulamalarının yeni işlevlerden yararlanıp yararlanamayacağını veya kitaplığın önceki sürümleriyle uyumluluğu koruyup koruyamayacağını belirlemesine olanak tanır. Örneğin, bir API'nin davranışı kitaplığın iki sürümü arasında değiştiyse, öğesi bu <AppContextSwitchOverrides> API'yi çağıranların kitaplığın yeni işlevselliği destekleyen sürümlerinde yeni davranışı geri çevirmesine olanak tanır. .NET Framework'te API'leri çağıran uygulamalar için, öğesi uygulamaları <AppContextSwitchOverrides> .NET Framework'ün önceki bir sürümünü hedefleyen çağıranların, uygulamaları bu işlevselliği içeren bir .NET Framework sürümünde çalışıyorsa yeni işlevleri kabul etmelerine de izin verebilir.

value öğesinin <AppContextSwitchOverrides> özniteliği, bir veya daha fazla noktalı virgülle ayrılmış ad/değer çiftlerinden oluşan tek bir dizeden oluşur. Her ad bir uyumluluk anahtarı tanımlar ve buna karşılık gelen değeri, anahtarın ayarlanıp ayarlanmadığını gösteren bir Boole değeridir (true veya false). Varsayılan olarak, anahtar şeklindedir falseve kitaplıklar yeni işlevselliği sağlar. Bunlar yalnızca anahtar ayarlandıysa (yani değeri ise true) önceki işlevi sağlar. Bu, kitaplıkların var olan bir API için yeni davranış sağlamasına olanak tanırken, önceki davranışa bağımlı olan çağıranların yeni işlevselliği geri çevirmesine olanak tanır.

.NET Framework aşağıdaki anahtarları destekler:

Anahtar adı Açıklama Sunulan özellikler
Switch.MS.Internal.
DoNotApplyLayoutRoundingToMarginsAndBorderThickness
Windows Presentation Foundation'ın denetim düzeni için eski bir algoritma kullanıp kullanmadığını denetler. Daha fazla bilgi için bkz . Azaltma: WPF Düzeni. .NET Framework 4.6
Switch.MS.Internal.
UseSha1AsDefaultHashAlgorithmForDigitalSignatures
PackageDigitalSignatureManager tarafından bir paketin bölümlerini imzalamak için kullanılan varsayılan algoritmanın SHA1 veya SHA256 olup olmadığını denetler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.7.1
Switch.System.Activities.
UseMD5CryptoServiceProviderForWFDebugger
olarak falseayarlandığında, FIPS etkinleştirildiğinde Visual Studio ile XAML tabanlı iş akışı projelerinin hata ayıklamasına izin verir. Bu olmadan, System.Activities derlemesindeki yöntemlere çağrılarda bir NullReferenceException oluşturulur. .NET Framework 4.7
Switch.System.Activities.
UseMD5ForWFDebugger
Hata ayıklayıcıdaki bir iş akışı örneğinin sağlama toplamını MD5 mi yoksa SHA1 mi kullandığını denetler. .NET Framework 4.7
Switch.System.Activities.
UseSHA1HashForDebuggerSymbols
İş akışı sağlama toplamı karması'nın .NET Framework 4.7() içinde varsayılan olarak tanıtılan SHA1 algoritmasını mı yoksa .NET Framework 4.8'detrue (false) varsayılan olarak tanıtılan varsayılan SHA256 algoritmasını kullanıp kullanmadığını denetler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
Taşınabilir PDB'ler kullanılırken elde edilen yığın izlemelerinin kaynak dosya ve satır bilgilerini içerip içeremeyeceğini denetler. false kaynak dosya ve satır bilgilerini eklemek için; aksi takdirde , true. .NET Framework 4.7.2
Switch.System.Drawing.
DontSupportPngFramesInIcons
Bir nesneDE Icon.ToBitmap PNG çerçeveleri olduğunda Icon yönteminin özel durum oluşturup oluşturmadığını denetler. Daha fazla bilgi için bkz . Azaltma: Simge Nesnelerinde PNG Çerçeveleri. .NET Framework 4.6
Switch.System.Drawing.Text.
DoNotRemoveGdiFontsResourcesFromFontCollection
yöntemiyle PrivateFontCollection.AddFontFile(String) koleksiyona eklendiğinde nesnelerin düzgün bir şekilde atılıp atılmayacağını System.Drawing.Text.PrivateFontCollection belirler. true eski davranışı korumak için; false tüm özel yazı tipi nesnelerini atmak için. .NET Framework 4.7.2
Switch.System.Drawing.Printing.
OptimizePrintPreview
performansının PrintPreviewDialog ağ yazıcıları için iyileştirilmiş olup olmadığını denetler. Daha fazla bilgi için bkz . PrintPreviewDialog denetimine genel bakış. .NET Framework 4.6
Switch.System.Globalization.EnforceJapaneseEraYearRanges Japon takvim dönemleri için yıl aralığı denetimlerinin zorunlu kılınıp uygulanmayacağını denetler. true yıl aralığı denetimlerini zorunlu kılmak ve false bunları devre dışı bırakmak için (varsayılan davranış). Daha fazla bilgi için bkz . Takvimlerle çalışma. .NET Framework 4.6
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing Ayrıştırma işlemlerinde japon takvim döneminin ilk yılı olarak yalnızca "1" kabul edilip edilmeyeceğini denetler. true yalnızca "1" i tanımak için; false "1" veya Gannen'i (varsayılan davranış) tanımak için. Daha fazla bilgi için bkz . Takvimlerle çalışma. .NET Framework 4.6
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber Biçimlendirme işlemlerinde Japon takvim döneminin ilk yılının "1" veya Gannen olarak temsil edilip edilmediğini denetler. true çağın ilk yılını "1" olarak biçimlendirmek; false Gannen (varsayılan davranış) olarak biçimlendirmek için. Daha fazla bilgi için bkz . Takvimlerle çalışma. .NET Framework 4.6
Switch.System.Globalization.NoAsyncCurrentCulture Zaman uyumsuz işlemlerin çağıran iş parçacığının bağlamından akıp akmadığını denetler. Daha fazla bilgi için bkz . Görevler arasında CurrentCulture ve CurrentUICulture akışı. .NET Framework 4.6
Switch.System.IdentityModel.
DisableMultipleDNSEntriesInSANCertificate
Yöntemin X509CertificateClaimSet.FindClaims talep türünü yalnızca son DNS girişiyle eşleştirmeye çalışıp çalışmayacağını denetler. Daha fazla bilgi için bkz . Risk Azaltma: X509CertificateClaimSet.FindClaims Yöntemi. .NET Framework 4.6.1
Switch.System.IdentityModel.
EnableCachedEmptyDefaultAuthorizationContext
AuthorizationContext.Empty'un değiştirilebilir bir nesne döndürmesine izin verilip verilmeyeceğini denetler. .NET Framework 4.6
Switch.System.IO.BlockLongPaths (260 karakterden) uzun MAX_PATH yolların oluşturup PathTooLongExceptionoluşturmayacağını denetler. Daha fazla bilgi için bkz . Uzun Yol Desteği. .NET Framework 4.6.2
Switch.System.IO.Compression.
DoNotUseNativeZipLibraryForDecompression
Yerel işletim sistemi yordamlarının sınıfı tarafından DeflateStream sıkıştırma için kullanılıp kullanılmayacağını denetler. false yerel API'leri kullanmak için; true öğesini seçin DeflateStream . .NET Framework 4.7.2
Switch.System.IO.Compression.ZipFile.
UseBackslash
Özelliğinde yol ayırıcısı ZipArchiveEntry.FullName olarak eğik çizgi ("/") yerine ters eğik çizgi ("\") kullanır. Daha fazla bilgi için bkz . Azaltma: ZipArchiveEntry.FullName Yol Ayırıcısı. .NET Framework 4.6.1
Switch.System.IO.Ports.
DoNotCatchSerialStreamThreadExceptions
Akışlarla SerialPort oluşturulan arka plan iş parçacıklarında oluşturulan işletim sistemi özel durumlarının işlemi sonlandırıp sonlandırmadığını denetler. .NET Framework 4.7.1
Switch.System.IO.
UseLegacyPathHandling
Eski yol normalleştirmesinin kullanılıp kullanılmadığını ve URI yollarının Path.GetDirectoryName ve Path.GetPathRoot yöntemleri tarafından desteklenip desteklenmediğini denetler. Daha fazla bilgi için bkz . Azaltma: Yol Normalleştirme ve Azaltma: Yol İki Nokta Üst Üste Denetimleri. .NET Framework 4.6.2
Switch.System.
MemberDescriptorEqualsReturnsFalseIfEquivalent
Eşitlik testinin bir nesnenin MemberDescriptor.Category özelliğini ikinci nesnenin MemberDescriptor.Description özelliğiyle karşılaştırıp karşılaştırmayacağını denetler. Daha fazla bilgi için bkz . MemberDescriptor.Equals dosyasının yanlış uygulanması. .NET Framework 4.6.2
Switch.System.Net.
DontCheckCertificateEKUs
Sertifika gelişmiş anahtar kullanımı (EKU) nesne tanımlayıcısı (OID) doğrulamayı devre dışı bırakır. Gelişmiş anahtar kullanımı (EKU) uzantısı, anahtarı kullanan uygulamaları gösteren nesne tanımlayıcıları (OID) koleksiyonudur. .NET Framework 4.6
Switch.System.Net.
DontEnableSchSendAuxRecord
SCH_SEND_AUX_RECORD kullanımını devre dışı bırakarak SSL/TLS (BEAST) azaltmaya karşı TLS1.0 Tarayıcı Açıklarını devre dışı bırakır. .NET Framework 4.6
Switch.System.Net.
DontEnableSchUseStrongCrypto
ve System.Net.Security.SslStream sınıflarının System.Net.ServicePointManager SSL 3.0 protokollerini kullanıp kullanamayacağını denetler. Daha fazla bilgi için bkz . Risk Azaltma: TLS Protokolleri. .NET Framework 4.6
Switch.System.Net.
DontEnableSystemDefaultTlsVersions
Varsayılan Tls12, Tls11, Tls'ye geri dönen SystemDefault TLS sürümlerini devre dışı bırakır. .NET Framework 4.7
Switch.System.Net.
DontEnableTlsAlerts
SslStream TLS sunucu tarafı Uyarılarını devre dışı bırakır. .NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
COM birlikte çalışma olaylarında ByRef Kasa Array parametrelerinin yerel koda (false) geri sıralanıp sıralanmadığını veya yerel koda geri dönmenin devre dışı bırakılıp bırakılmadığını (true) denetler. .NET Framework 4.8
Switch.System.Runtime.Serialization.
DoNotUseECMAScriptV6EscapeControlCharacter
DataContractJsonSerializer'ın ECMAScript V6 ve V8 standartlarına göre bazı denetim karakterlerini seri hale getirip getirmediğini denetler. Daha fazla bilgi için bkz . Azaltma: DataContractJsonSerializer ile Denetim Karakterlerinin Seri Hale Getirilmesi .NET Framework 4.7
Switch.System.Runtime.Serialization.
DoNotUseTimeZoneInfo
öğesinin DataContractJsonSerializer birden çok ayarlamayı mı yoksa bir saat dilimi için yalnızca tek bir ayarlamayı mı desteklediğini denetler. ise true, tarih ve saat verilerini seri hale getirmek ve seri durumdan çıkarmak için türünü kullanır TimeZoneInfo ; aksi takdirde, birden çok ayarlama kuralını desteklemeyen türünü kullanır TimeZone . .NET Framework 4.6.2
Switch.System.Runtime.Serialization.UseNewMaxArraySize Nesne serileştirme ve seri durumdan çıkarma sırasında daha büyük bir dizi boyutu kullanıp kullanmayacağını System.Runtime.Serialization.ObjectManager denetler. Gibi türlere true göre büyük nesne grafiklerinin seri hale getirme ve seri durumdan çıkarma performansını geliştirmek için bu anahtarı olarak BinaryFormatterayarlayın. .NET Framework 4.7.2
Switch.System.Security.ClaimsIdentity.
SetActorAsReferenceWhenCopyingClaimsIdentity
Oluşturucunun ClaimsIdentity(IIdentity) yeni nesnenin özelliğini var olan bir nesne ClaimsIdentity.Actor başvurusuyla ayarlayıp ayarlamadığını denetler. Daha fazla bilgi için bkz . Risk Azaltma: ClaimsIdentity Oluşturucusu. .NET Framework 4.6.2
Switch.System.Security.Cryptography.
AesCryptoServiceProvider.DontCorrectlyResetDecryptor
Bir AesCryptoServiceProvider şifre çözücü yeniden kullanma girişiminin bir CryptographicExceptionoluşturup oluşturmadığını denetler. Daha fazla bilgi için bkz . AesCryptoServiceProvider decryptor yeniden kullanılabilir bir dönüşüm sağlar. .NET Framework 4.6.2
Switch.System.Security.Cryptography.
DoNotAddrOfCspParentWindowHandle
CspParameters.ParentWindowHandle özelliğinin değerinin bir pencere tutamacının bellek konumunu temsil eden bir IntPtr olup olmadığını veya bir pencere tutamacı (HWND) olup olmadığını denetler. Daha fazla bilgi için bkz . Risk Azaltma: CspParameters.ParentWindowHandle Bir HWND Bekler. .NET Framework 4.7
Switch.System.Security.Cryptography.
UseLegacyFipsThrow
FIPS modunda yönetilen şifreleme sınıflarının kullanımının (CryptographicException) oluşturup oluşturmadığını veya sistem kitaplıklarının (truefalse) uygulanmasına mı bağlı olduğunu denetler. .NET Framework 4.8
Switch.System.Security.Cryptography.Pkcs.
UseInsecureHashAlgorithms
Bazı SignedCMS işlemleri için varsayılan değerin SHA1 mi yoksa SHA256 mı olduğunu belirler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.7.1
Switch.System.Security.Cryptography.X509Certificates.
ECDsaCertificateExtensions.UseLegacyPublicKeyReader
yönteminin ECDsaCertificateExtensions.GetECDsaPublicKey işletim sistemi (false) tarafından desteklenen tüm adlandırılmış eğrileri doğru işleyip işlemediğini veya eski davranışa geri döndürerek olup olmadığını denetler. .NET Framework 4.8
Switch.System.Security.Cryptography.Xml.
UseInsecureHashAlgorithms
Bazı SignedXML işlemleri için varsayılan değerin SHA1 mi yoksa SHA256 mı olduğunu belirler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.7.1
Switch.System.ServiceModel.
AllowUnsignedToHeader
Güvenlik modunun TransportWithMessageCredential imzasız "to" üst bilgisine sahip iletilere izin verip vermediğini belirler. Bu bir katılım anahtarıdır. Daha fazla bilgi için bkz . .NET Framework 4.6.1'de Çalışma Zamanı Değişiklikleri. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableAddressHeaderCollectionValidation>
Oluşturucunun AddressHeaderCollection(IEnumerable<AddressHeader>) öğelerden nullbiri ise oluşturup ArgumentException oluşturmayacağını denetler. .NET Framework 4.7.1
Switch.System.IdentityModel.
DisableCngCertificates
X509 sertifikalarını CSG anahtar depolama sağlayıcısıyla kullanma girişiminin özel durum oluşturup oluşturmadığını belirler. Daha fazla bilgi için bkz . WCF aktarım güvenliği CNG kullanılarak depolanan sertifikaları destekler. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableExplicitConnectionCloseHeader
HTTP aktarımını şirket içinde barındırılan bir hizmetle kullanırken, bu değerin true wcf'nin istek için yanıt üst bilgilerine üst bilgi ekleyen Connection: close bir uygulamayı yoksaymasına neden olur. Bu değerin olarak false ayarlanması, yanıt üst bilgilerine üst bilgi eklenmesini Connection: close sağlar ve bu da bir yanıt gönderildikten sonra istek yuvasının kapatılmasına neden olur. .NET Framework 4.6
Switch.System.ServiceModel.
DisableOperationContextAsyncFlow
Yeniden alınan bir hizmetin örneklerinin aynı anda tek bir yürütme iş parçacığıyla kısıtlanmasından kaynaklanan kilitlenmeleri işler. .NET Framework 4.6.2
Switch.System.ServiceModel.
DisableUsingServicePointManagerSecurityProtocols
ile Switch.System.Net.DontEnableSchUseStrongCryptobirlikte, WCF ileti güvenliğinin TLS 1.1 ve TLS 1.2 kullanıp kullanmadığını belirler. .NET Framework 4.7
Switch.System.ServiceModel.
DontEnableSystemDefaultTlsVersions
değeri false , işletim sisteminin protokolü seçmesine izin vermek için varsayılan yapılandırmayı ayarlar. değeri true , varsayılan değeri kullanılabilir en yüksek protokol olarak ayarlar. (Önceki çerçeve sürümlerinin bakım dalında da kullanılabilir) .NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InMsmqEncryptionAlgorithm
WCF'de MSMQ iletileri için varsayılan ileti imzalama algoritmasının SHA1 mi yoksa SHA256 mı olduğunu belirler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InPipeConnectionGetHashAlgorithm
WCF'nin adlandırılmış kanallar için rastgele adlar oluşturmak için SHA1 mi yoksa SHA256 karması mı kullandığını denetler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.7.1
Switch.System.ServiceModel.Internals
IncludeNullExceptionMessageInETWTrace
Özel durum iletisi null olduğunda NullReferenceException oluşturup oluşturmayacağını denetler. .NET Framework 4.7
Switch.System.ServiceProcess.
DontThrowExceptionsOnStart
Hizmet başlangıcında oluşan özel durumların yöntemini çağırana ServiceBase.Run yayılıp yayılmayacağını denetler. .NET Framework 4.7.1
Switch.System.Threading.UseNetCoreTimer Örneklerin yüksek ölçekli ortamlar için performans geliştirmelerinden yararlanıp yararlanmadığını Timer denetler. ise true, performans geliştirmeleri etkinleştirilir; ( false varsayılan değer) devre dışı bırakılır. .NET Framework 4.8
Switch.System.Uri.
DontEnableStrictRFC3986ReservedCharacterSets
Bazen kodu çözülen belirli yüzde kodlanmış karakterlerin artık tutarlı bir şekilde kodlanmış olarak bırakılıp bırakılmadığını belirler. ise true, kodu çözüldüyse, aksi takdirde , false. .NET Framework 4.7.2
Switch.System.Uri.
DontKeepUnicodeBidiFormattingCharacters
URI'lerdeki Unicode çift yönlü karakterlerin işlenmesini belirler. true bunları URI'lerden kaldırmak için; false öğesini seçin. .NET Framework 4.7.2
Switch.System.Windows.Controls.Grid.
StarDefinitionsCanExceedAvailableSpace
Windows Presentation Foundation'ın *sütunlara alan ayırmada eski bir algoritma (true) veya yeni bir algoritma (false) uygulayıp uygulamayacağını belirler. Daha fazla bilgi için bkz . Azaltma: Kılavuz Denetimi'nin Yıldız sütunlarına Alan Ayırma. .NET Framework 4.7
Switch.System.Windows.Controls.TabControl.
SelectionPropertiesCanLagBehindSelectionChangedEvent
Bir seçicinin veya sekme denetiminin, seçilen değiştirilen olayı oluşturmadan önce her zaman seçili değer özelliğinin değerini güncelleştirip güncelleştirmediğini denetler. .NET Framework 4.7.1
Switch.System.Windows.Controls.Text.
UseAdornerForTextboxSelectionRendering
Adorner tabanlı olmayan seçim işlemesinin TextBoxPasswordBox ve denetimleri için kullanılabilir olup olmadığını veya metnin yalnızca Donatıcı katmanında (falsetrue ) işlenip işlenmeyeceğini belirler. .NET Framework 4.7.2
Switch.System.Windows.Data.Binding.
IListIndexerHidesCustomIndexer
Özel IList dizin oluşturucularının sınıf tarafından yanlış (true) veya doğru (false) olarak kullanılıp kullanılmayacağını System.Windows.Data.Binding denetler. .NET Framework 4.8
Switch.System.Windows.DoNotScaleForDpiChanges DPI değişikliklerinin falsesistem başına mı (değeri) yoksa monitör başına temelinde mi ( truedeğeri) gerçekleşeceğini belirler. .NET Framework 4.6.2
Switch.System.Windows.
DoNotUsePresentationDpiCapabilityTier2OrGreater
WPF monitör başına duyarlı modda çalıştırıldığında denetimlerin System.Windows.Interop.HwndHost boyutlandırılmasında yapılan iyileştirmelerin devre dışı bırakılıp bırakılmayacağını (true) veya etkinleştirilip etkinleştirilmediğini denetler.false .NET Framework 4.8
Switch.System.Windows.Forms.
DisconnectUiaProvidersOnWmDestroy
İlgili denetim penceresi yok edildiğinde () veya yok edildiğinde (truefalse) sağlayıcıların bağlantısının kesilip kesilmediğini denetler. Bu anahtar, nesne sızıntısını gidermek için bir performans düzeltmesi IRawElementProviderSimple kabul etme olanağı sağlar. .NET Framework 4.8
Switch.System.Windows.Forms.
DomainUpDown.UseLegacyScrolling
Denetim metni mevcut olduğunda geliştiricinin eylemi özel olarak işlemesi DomainUpDown.UpButton() gerekip gerekmediğini belirler. true ve eylemlerinin UpButton()false düzgün bir şekilde eşitlenmesi için eylemi işlemek için DomainUpDown.UpButton()DomainUpDown.DownButton() . .NET Framework 4.7.2
Switch.System.Windows.Forms.
DontSupportReentrantFilterMessage
Özel bir IMessageFilter.PreFilterMessage uygulamanın, yöntem çağrıldığında özel durum oluşturmadan iletileri güvenli bir şekilde filtrelemesine Application.FilterMessage olanak tanıyan kodu geri alır. Daha fazla bilgi için bkz . Azaltma: Özel IMessageFilter.PreFilterMessage Uygulamaları. .NET Framework 4.6.1
Switch.System.Windows.Forms.
UseLegacyContextMenuStripSourceControlValue
Kullanıcı menüyü ContextMenuStrip.SourceControl iç içe ToolStripMenuItem geçmiş bir denetimden açtığında özelliğin kaynak denetimi döndürip döndürmediğini belirler. true kaynak denetimini döndürmek nulliçin eski davranışı false döndürür. .NET Framework 4.7.2
Switch.System.Windows.Forms.UseLegacyToolTipDisplay Araç ipucu çağırma desteğinin devre dışıtrue () veya etkin (false) olup olmadığını denetler. Araç ipucu çağırma desteğinin etkinleştirilmesi, , Switch.UseLegacyAccessibilityFeatures.2ve Switch.UseLegacyAccessibilityFeatures.3 tarafından Switch.UseLegacyAccessibilityFeaturestanımlanan eski erişilebilirlik özelliklerinin de devre dışı bırakılmasını gerektirir (olarak falseayarlanır). .NET Framework 4.8
Switch.System.Windows.Input.Stylus.
EnablePointerSupport
WPF uygulamalarında isteğe bağlı WM_POINTERtabanlı dokunma/ekran kalemi yığınının etkinleştirilip etkinleştirilmediğini belirler. Daha fazla bilgi için bkz . Azaltma: İşaretçi tabanlı Dokunma ve Ekran Kalemi Desteği .NET Framework 4.7
Switch.System.Windows.Markup.
DoNotUseSha256ForMarkupCompilerChecksumAlgorithm
Sağlama toplamları için kullanılan varsayılan karma algoritmasının SHA256 (false) veya SHA1 (true) olup olmadığını belirler.
SHA1 ile ilgili çakışma sorunları nedeniyle Microsoft, SHA256'yı önerir.
.NET Framework 4.7.2
Switch.System.Windows.Media.ImageSourceConverter.
OverrideExceptionWithNullReferenceException
Özel durumun nedenini (DirectoryNotFoundException veya FileNotFoundException gibi) gösteren özel durum yerine eski bir NullReferenceException oluşturup oluşturmayacağını denetler. NullReferenceException'ın işlenmesine bağlı olan kod tarafından kullanılmak üzere tasarlanmıştır. .NET Framework 4.7
Switch.System.Workflow.ComponentModel.
UseLegacyHashForXomlFileChecksum
İş akışı projesi derlemelerindeki XOML dosyalarının sağlama toplamı karmasının MD5 algoritmasını ()true kullanıp kullanmadığını veya .NET Framework 4.8'de varsayılan olarak sunulan SHA256 algoritmasını kullanıp kullanmadıklarını denetler.
MD5 ile ilgili çakışma sorunları nedeniyle Microsoft SHA256'yı önerir.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
SqlTrackingService tarafından sağlama toplamı karmasının önbelleğe alınmış dizeler için MD5 algoritmasını (true) kullanıp kullanmadığını veya .NET Framework 4.8'de varsayılan olarak sunulan SHA256 algoritmasını kullanıp kullanmadığını denetler.
MD5 ile ilgili çakışma sorunları nedeniyle Microsoft SHA256'yı önerir.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
workflow runtime tarafından sağlama toplamı karmasının önbelleğe alınmış iş akışı tanımları için MD5 algoritmasını (true) kullanıp kullanmadığını veya .NET Framework 4.8'de varsayılan olarak sunulan SHA256 algoritmasını kullanıp kullanmadığını denetler.
MD5 ile ilgili çakışma sorunları nedeniyle Microsoft SHA256'yı önerir.
.NET Framework 4.8
Switch.UseLegacyAccessibilityFeatures .NET Framework 4.7.1 ile başlayan erişilebilirlik özelliklerinin etkinleştirilip etkinleştirilmediğini veya devre dışı bırakılıp bırakılmadığını denetler. .NET Framework 4.7.1
Switch.UseLegacyAccessibilityFeatures.2 .NET Framework 4.7.2'de kullanılabilen erişilebilirlik özelliklerinin etkin (false) veya devre dışı (true) olup olmadığını denetler. ise true, Switch.UseLegacyAccessibilityFeatures .NET Framework 4.7.1 erişilebilirlik özelliklerini etkinleştirmek için de olmalıdır true . .NET Framework 4.7.2
Switch.UseLegacyAccessibilityFeatures.3 .NET Framework 4.8'de sunulan erişilebilirlik özelliklerinin etkinfalse () veya devre dışı (true) olup olmadığını denetler. Switch.UseLegacyAccessibilityFeatures ise trueve Switch.UseLegacyAccessibilityFeatures.2 de olmalıdırtrue. .NET Framework 4.8
Switch.UseLegacyToolTipDisplay Kullanıcı fare imlecini WPF denetiminin ()true üzerine getirdiğinde veya hem klavye odağında hem de klavye kısayol tuşuyla (falsevarsayılan davranış) görüntülenip görüntülenmeyeceğini denetler. .NET Framework 4.8 üzerinde çalışan ancak .NET Framework'ün önceki sürümlerini hedefleyen uygulamalar için, hem klavye odağını hem de kısayol tuşu desteğini etkinleştirmek için , ve tümlerinin olarak falseayarlanması gerekirSwitch.UseLegacyAccessibilityFeatures.Switch.UseLegacyAccessibilityFeatures.3Switch.UseLegacyAccessibilityFeatures.2 .NET Framework 4.8
Switch.System.Xml.
IgnoreEmptyKeySequences
Bileşik anahtarlardaki boş anahtar sıralarının XSD şema doğrulaması tarafından yoksayılıp yoksayılmayacağını denetler. Daha fazla bilgi için bkz . Azaltma: XML Şema Doğrulaması. .NET Framework 4.6

Not

Uygulama yapılandırma dosyasına öğe AppContextSwitchOverrides eklemek yerine, yöntemini çağırarak AppContext.SetSwitch anahtarları program aracılığıyla da ayarlayabilirsiniz.

Kitaplık geliştiricileri, çağıranların kitaplıklarının sonraki sürümlerinde sunulan değiştirilmiş işlevselliği geri çevirmelerine olanak sağlamak için özel anahtarlar da tanımlayabilir. Daha fazla bilgi için sınıfına AppContext bakın.

ASP.NET uygulamalarında anahtarlar

Web.config dosyasının uygulamaya öğe ekle ><Ayarlar> bölümünü ekleyerek ASP.NET <uygulamasını uyumluluk ayarlarını kullanacak şekilde yapılandırabilirsiniz.

Aşağıdaki örnek, bir web.config dosyasının <appSettings> bölümüne iki ayar eklemek için öğesini kullanır<add>:

<appSettings>
  <add key="AppContext.SetSwitch:Switch.System.Globalization.NoAsyncCurrentCulture" value="true" />
  <add key="AppContext.SetSwitch:Switch.System.Uri.DontEnableStrictRFC3986ReservedCharacterSets" value="true" />
</appSettings>

Örnek

Aşağıdaki örnek, Switch.System.Globalization.NoAsyncCurrentCulturezaman uyumsuz yöntem çağrılarında kültürün iş parçacıkları arasında akmasını engelleyen tek bir uygulama uyumluluk anahtarı tanımlamak için öğesini kullanırAppContextSwitchOverrides.

<configuration>
   <runtime>
      <AppContextSwitchOverrides value="Switch.System.Globalization.NoAsyncCurrentCulture=true" />
   </runtime>
</configuration>

Aşağıdaki örnek, Switch.System.Globalization.NoAsyncCurrentCultureSwitch.System.IO.BlockLongPathsve olmak üzere iki uygulama uyumluluk anahtarı tanımlamak için öğesini kullanırAppContextSwitchOverrides. Noktalı virgül iki ad/değer çiftini ayırır.

<configuration>
    <runtime>
       <AppContextSwitchOverrides
          value="Switch.System.Globalization.NoAsyncCurrentCulture=true;Switch.System.IO.BlockLongPaths=true" />
    </runtime>
</configuration>

Ayrıca bkz.