Элемент <AppContextSwitchOverrides>

Определяет один или несколько коммутаторов, используемых классом AppContext для предоставления механизма отказа от новых функциональных возможностей.

<configuration>
  <runtime>
    <AppContextSwitchOverrides>

Синтаксис

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

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Описание
value Обязательный атрибут.

Определяет одно или несколько имен переключателей и связанных с ними логических значений.

Атрибут value

Значение Описание
"имя = значение" Предопределенное имя коммутатора вместе со значением ( true или false ). Несколько пар "имя-значение" переключателей разделяются точкой с запятой (";"). список стандартных имен коммутаторов, поддерживаемых платформа .NET Framework, см. в разделе "примечания".

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент Описание
configuration Корневой элемент в любом файле конфигурации, используемом средой CLR и приложениями .NET Framework.
runtime Содержит сведения о параметрах инициализации среды выполнения.

Комментарии

начиная с платформа .NET Framework 4,6, <AppContextSwitchOverrides> элемент в файле конфигурации позволяет вызывающим объектам API определить, может ли их приложение использовать преимущества новых функциональных возможностей или сохранить совместимость с предыдущими версиями библиотеки. Например, если поведение API изменилось между двумя версиями библиотеки, <AppContextSwitchOverrides> элемент позволяет вызывающим объектам этого API отказаться от нового поведения в версиях библиотеки, поддерживающих новые функциональные возможности. для приложений, которые вызывают интерфейсы api в платформа .NET Framework, <AppContextSwitchOverrides> элемент может также разрешить вызывающим объектам, приложения которых нацелены на более раннюю версию платформа .NET Framework, использовать новые функции, если их приложение выполняется в версии платформа .NET Framework, которая включает эти функции.

valueАтрибут <AppContextSwitchOverrides> элемента состоит из одной строки, состоящей из одной или нескольких пар "имя-значение", разделенных точкой с запятой. Каждое имя определяет переключатель совместимости, и его соответствующее значение является логическим ( true или false ), указывающим, задан ли параметр. По умолчанию параметр имеет значение false , а библиотеки предоставляют новые функциональные возможности. Они предоставляют только предыдущие функции, если задан параметр (то есть его значение true ). Это позволяет библиотекам предоставлять новое поведение для существующего API, одновременно позволяя вызывающим объектам, которые зависят от предыдущего поведения, отказаться от новых функциональных возможностей.

платформа .NET Framework поддерживает следующие параметры:

Имя коммутатора Описание Введенный
Switch.MS.Internal.
DoNotApplyLayoutRoundingToMarginsAndBorderThickness
определяет, использует ли Windows Presentation Foundation устаревший алгоритм для макета элемента управления. Дополнительные сведения см. в разделе Устранение рисков. Макет WPF. .NET Framework 4.6
Switch.MS.Internal.
UseSha1AsDefaultHashAlgorithmForDigitalSignatures
Определяет, используется ли алгоритм по умолчанию для подписывания частей пакета с помощью PackageDigitalSignatureManager — SHA1 или SHA256.
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.7.1
Switch.System.Activities.
UseMD5CryptoServiceProviderForWFDebugger
если задано значение false , позволяет выполнять отладку проектов рабочих процессов на основе XAML с Visual Studio при включенном FIPS. Без него вызывается NullReferenceException в вызовах методов в сборке System. activitys. .NET Framework 4.7
Switch.System.Activities.
UseMD5ForWFDebugger
Определяет, использует ли контрольная сумма для экземпляра рабочего процесса в отладчике MD5 или SHA1. .NET Framework 4.7
Switch.System.Activities.
UseSHA1HashForDebuggerSymbols
определяет, использует ли хэширование контрольных сумм рабочего процесса алгоритм SHA1, представленный в качестве значения по умолчанию в платформа .NET Framework 4,7 ( true ), или используется ли алгоритм SHA256 по умолчанию в платформа .NET Framework 4,8 ( false ).
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
Определяет, получают ли трассировкы стека при использовании переносимых PDB, могут включать исходные сведения о файлах и строках. false , чтобы включить исходные сведения о файлах и строках. в противном случае — true . .NET Framework 4.7.2
Switch.System.Drawing.
DontSupportPngFramesInIcons
Определяет, Icon.ToBitmap вызывает ли метод исключение, если Icon объект содержит кадры PNG. Дополнительные сведения см. в разделе Устранение рисков: кадры PNG кадров в объектах Icon. .NET Framework 4.6
Switch.System.Drawing.Text.
DoNotRemoveGdiFontsResourcesFromFontCollection
Определяет System.Drawing.Text.PrivateFontCollection , должны ли объекты правильно удаляться при добавлении в коллекцию PrivateFontCollection.AddFontFile(String) методом. true для поддержки устаревшего поведения; false Удаление всех объектов частных шрифтов. .NET Framework 4.7.2
Switch.System.Drawing.Printing.
OptimizePrintPreview
Определяет, оптимизирована ли производительность PrintPreviewDialog для сетевых принтеров. Дополнительные сведения см. в разделе Общие сведения об элементе управления PrintPreviewDialog. .NET Framework 4.6
Switch.System.Globalization.EnforceJapaneseEraYearRanges Определяет, применяется ли проверка диапазона лет для Эр в японском календаре. true для принудительного применения проверок диапазона лет и false их отключения (поведение по умолчанию). Дополнительные сведения см. в разделе Работа с календарями. .NET Framework 4.6
Switch.System.Globalization.EnforceLegacyJapaneseDateParsing Определяет, распознается ли только "1" как первый год японской эры в японском календаре в операциях синтаксического анализа. true для распознавания только "1"; false чтобы распознать значение "1" или ганнен (поведение по умолчанию). Дополнительные сведения см. в разделе Работа с календарями. .NET Framework 4.6
Switch.System.Globalization.FormatJapaneseFirstYearAsANumber Определяет, представляется ли первый год японской эры календаря как "1" или Ганнен в операциях форматирования. true Чтобы отформатировать первый год эры как "1"; false чтобы отформатировать его как ганнен (поведение по умолчанию). Дополнительные сведения см. в разделе Работа с календарями. .NET Framework 4.6
Switch.System.Globalization.NoAsyncCurrentCulture Определяет, не поступают ли асинхронные операции из контекста вызывающего потока. Дополнительные сведения см. в разделе потоки CurrentCulture и CurrentUICulture между задачами. .NET Framework 4.6
Switch.System.IdentityModel.
DisableMultipleDNSEntriesInSANCertificate
Определяет, X509CertificateClaimSet.FindClaims пытается ли метод сопоставить тип утверждения только с последней записью DNS. Дополнительные сведения см. в разделе Устранение рисков: метод X509CertificateClaimSet.FindClaims. .NET Framework 4.6.1
Switch.System.IdentityModel.
EnableCachedEmptyDefaultAuthorizationContext
Определяет, разрешено ли значение AuthorizationContext. Empty для возврата изменяемого объекта. .NET Framework 4.6
Switch.System.IO.BlockLongPaths Определяет, следует ли создавать пути длиннее MAX_PATH (260 символов) PathTooLongException . Дополнительные сведения см. в разделе Поддержка длинных путей. .NET Framework 4.6.2
Switch.System.IO.Compression.
DoNotUseNativeZipLibraryForDecompression
Определяет, используются ли собственные подпрограммы ОС для распаковки DeflateStream классом. false для использования собственных API; true для использования DeflateStream реализации. .NET Framework 4.7.2
Switch.System.IO.Compression.ZipFile.
UseBackslash
Использует обратную косую черту (""), а не косую \ черту ("/") в качестве разделителя пути в ZipArchiveEntry.FullName свойстве. Дополнительные сведения см. в разделе Устранение рисков: разделитель пути ZipArchiveEntry. FullName. .NET Framework 4.6.1
Switch.System.IO.Ports.
DoNotCatchSerialStreamThreadExceptions
Определяет, завершают ли процессы исключения операционной системы, создаваемые в фоновых потоках, созданных с помощью SerialPort потоков. .NET Framework 4.7.1
Switch.System.IO.
UseLegacyPathHandling
Определяет, используется ли нормализация устаревшего пути, а также пути URI, Path.GetDirectoryName поддерживаемые Path.GetPathRoot методами и. Дополнительные сведения см. в разделе Устранение рисков: нормализация пути и Устранение рисков: проверки двоеточия пути. .NET Framework 4.6.2
Switch.System.
MemberDescriptorEqualsReturnsFalseIfEquivalent
Определяет, сравнивает ли проверка на равенство MemberDescriptor.Category свойство одного объекта со MemberDescriptor.Description свойством второго объекта. Дополнительные сведения см. в разделе неправильная реализация MemberDescriptor. Equals. .NET Framework 4.6.2
Switch.System.Net.
DontCheckCertificateEKUs
Отключает проверку идентификатора объекта расширенного использования ключа (EKU) сертификата. Расширение расширенного использования ключа (EKU) — это коллекция идентификаторов объекта (OID), которые указывают приложения, использующие ключ. .NET Framework 4.6
Switch.System.Net.
DontEnableSchSendAuxRecord
Отключает использование браузера TLS 1.0 для защиты SSL/TLS (МОНСТРУ) путем отключения использования SCH_SEND_AUX_RECORD. .NET Framework 4.6
Switch.System.Net.
DontEnableSchUseStrongCrypto
Определяет, System.Net.ServicePointManager могут ли System.Net.Security.SslStream классы и использовать протокол SSL 3,0. Дополнительные сведения см. в разделе Устранение рисков. Протоколы TLS. .NET Framework 4.6
Switch.System.Net.
DontEnableSystemDefaultTlsVersions
Отключает возврат версий Системдефаулт TLS по умолчанию для Tls12, Tls11, TLS. .NET Framework 4.7
Switch.System.Net.
DontEnableTlsAlerts
Отключает оповещения на стороне сервера SslStream TLS. .NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
Управляет возможностью выполнения маршалинга параметров ByRef для событий COM-взаимодействия в машинный код ( false ) или при отключении обратной передачи в машинный код ( true ). .NET Framework 4.8
Switch.System.Runtime.Serialization.
DoNotUseECMAScriptV6EscapeControlCharacter
Определяет, сериализует ли DataContractJsonSerializer некоторые управляющие символы на основе стандартов ECMAScript версии 6 и V8. Дополнительные сведения см. в статье Устранение рисков. Сериализация управляющих символов с помощью DataContractJsonSerializer .NET Framework 4.7
Switch.System.Runtime.Serialization.
DoNotUseTimeZoneInfo
Определяет, DataContractJsonSerializer поддерживает ли компонент несколько корректировок или только одну корректировку для часового пояса. Если true он использует TimeZoneInfo тип для сериализации и десериализации данных даты и времени; в противном случае используется TimeZone тип, который не поддерживает несколько правил коррекции. .NET Framework 4.6.2
Switch.System.Runtime.Serialization.UseNewMaxArraySize Определяет System.Runtime.Serialization.ObjectManager , использует ли больший размер массива при сериализации и десериализации объектов. Установите этот переключатель, чтобы true повысить производительность сериализации и десериализации больших графов объектов по типам, например BinaryFormatter . .NET Framework 4.7.2
Switch.System.Security.ClaimsIdentity.
SetActorAsReferenceWhenCopyingClaimsIdentity
Определяет, ClaimsIdentity(IIdentity) задает ли конструктор свойство нового объекта ClaimsIdentity.Actor с существующей ссылкой на объект. Дополнительные сведения см. в разделе Устранение рисков. Конструктор ClaimsIdentity. .NET Framework 4.6.2
Switch.System.Security.Cryptography.
AesCryptoServiceProvider.DontCorrectlyResetDecryptor
Определяет, создает ли попытка повторного использования AesCryptoServiceProvider дешифратора CryptographicException . Дополнительные сведения см. в разделе AesCryptoServiceProvider дешифратора — обеспечивает повторное использование преобразования. .NET Framework 4.6.2
Switch.System.Security.Cryptography.
DoNotAddrOfCspParentWindowHandle
Определяет, является ли значение свойства CspParameters. ParentWindowHandle IntPtr , представляющего место в памяти дескриптора окна, или является ли он дескриптором окна (HWND). Дополнительные сведения см. в статье Mitigation: CspParameters.ParentWindowHandle Expects an HWND (Устранение рисков. CspParameters.ParentWindowHandle ожидает HWND). .NET Framework 4.7
Switch.System.Security.Cryptography.
UseLegacyFipsThrow
Определяет, будет ли использование управляемых криптографических классов в режиме FIPS выдать исключение CryptographicException ( true ) или полагается на реализацию системных библиотек ( false ). .NET Framework 4.8
Switch.System.Security.Cryptography.Pkcs.
UseInsecureHashAlgorithms
Определяет, используется ли по умолчанию для некоторых операций SignedCMS алгоритм SHA1 или SHA256.
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.7.1
Switch.System.Security.Cryptography.X509Certificates.
ECDsaCertificateExtensions.UseLegacyPublicKeyReader
Определяет, ECDsaCertificateExtensions.GetECDsaPublicKey правильно ли метод обрабатывает все именованные кривые, поддерживаемые операционной системой ( false ), или возвращается к поведению прежних версий. .NET Framework 4.8
Switch.System.Security.Cryptography.Xml.
UseInsecureHashAlgorithms
Определяет, используется ли по умолчанию для некоторых операций SignedXML алгоритм SHA1 или SHA256.
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.7.1
Switch.System.ServiceModel.
AllowUnsignedToHeader
Определяет, TransportWithMessageCredential допускает ли режим безопасности сообщения с неподписанным заголовком "to". Это параметр выбора. дополнительные сведения см. в разделе изменения среды выполнения в платформа .NET Framework 4.6.1. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableAddressHeaderCollectionValidation>
Определяет, AddressHeaderCollection(IEnumerable<AddressHeader>) создает ли конструктор исключение, ArgumentException Если один из элементов имеет значение null . .NET Framework 4.7.1
Switch.System.IdentityModel.
DisableCngCertificates
Определяет, возникает ли исключение при попытке использовать сертификаты X509 с поставщиком хранилища ключей CSG ВЫЗЫВАЛА. Дополнительные сведения см. в разделе Безопасность транспорта WCF поддерживает сертификаты, хранимые с помощью CNG. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableExplicitConnectionCloseHeader
При использовании транспорта HTTP с резидентной службой Установка этого значения true приводит к тому, что WCF игнорирует приложение, добавляя Connection: close заголовок в заголовки ответа для запроса. Установка этого значения false позволяет добавить Connection: close заголовок в заголовки ответа, что приведет к закрытию соединителя запросов после отправки ответа. .NET Framework 4.6
Switch.System.ServiceModel.
DisableOperationContextAsyncFlow
Обрабатывает взаимоблокировки, которые являются следствием ограниченного числа экземпляров повторного входа службы на один поток выполнения за раз. .NET Framework 4.6.2
Switch.System.ServiceModel.
DisableUsingServicePointManagerSecurityProtocols
Вместе с параметр Switch.System.Net.DontEnableSchUseStrongCrypto определяет, использует ли безопасность сообщений WCF tls 1,1 и tls 1,2. .NET Framework 4.7
Switch.System.ServiceModel.
DontEnableSystemDefaultTlsVersions
Значение false задает конфигурацию по умолчанию, чтобы разрешить операционной системе выбирать протокол. Значение true по умолчанию задает самый высокий доступный протокол. (Также доступно в ветви обслуживания предыдущих версий платформы) .NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InMsmqEncryptionAlgorithm
Определяет, является ли алгоритмом подписи сообщений по умолчанию для сообщений MSMQ в WCF значение SHA1 или SHA256.
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InPipeConnectionGetHashAlgorithm
Определяет, использует ли WCF хэш SHA1 или SHA256 для создания случайных имен для именованных каналов.
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.7.1
Switch.System.ServiceModel.Internals
IncludeNullExceptionMessageInETWTrace
Определяет, следует ли создавать исключение NullReferenceException , если сообщение об исключении имеет значение null. .NET Framework 4.7
Switch.System.ServiceProcess.
DontThrowExceptionsOnStart
Определяет, распространяются ли исключения, возникающие при запуске службы, в вызывающий ServiceBase.Run метод. .NET Framework 4.7.1
Switch.System.Threading.UseNetCoreTimer Определяет Timer , пользуются ли экземпляры преимуществами повышения производительности в крупномасштабных средах. Если true значение равно, то улучшение производительности включено; в противном случае false они будут отключены. .NET Framework 4.8
Switch.System.Uri.
DontEnableStrictRFC3986ReservedCharacterSets
Определяет, будут ли закодированы определенные символы в кодировке процентов, которые иногда декодированы, в кодировке слева. trueЗначение, если они декодированы; в противном случае — false . .NET Framework 4.7.2
Switch.System.Uri.
DontKeepUnicodeBidiFormattingCharacters
Определяет обработку двунаправленных символов Юникода в URI. true , чтобы удалить их из URI; false для сохранения и их кодирования в процентах. .NET Framework 4.7.2
Switch.System.Windows.Controls.Grid.
StarDefinitionsCanExceedAvailableSpace
определяет, применяет ли Windows Presentation Foundation старый алгоритм ( true ) или новый алгоритм ( false ) при выделении пространства для * столбцов. Дополнительные сведения см. в статье Mitigation: Grid Control's Space Allocation to Star-columns (Устранение рисков. Выделение пространства элемента управления "сетка" для столбцов со звездочкой). .NET Framework 4.7
Switch.System.Windows.Controls.TabControl.
SelectionPropertiesCanLagBehindSelectionChangedEvent
Определяет, всегда ли обновляет значение выбранного свойства селектора или элемента управления "Вкладка" перед вызовом события изменения выбора. .NET Framework 4.7.1
Switch.System.Windows.Controls.Text.
UseAdornerForTextboxSelectionRendering
Определяет, доступна ли визуализация выбора на основе недекоративного элемента для TextBox PasswordBox элементов управления и, чтобы предотвратить перекрыто текст ( false ) или отображение текста только в слое декоративных элементов ( true ). .NET Framework 4.7.2
Switch.System.Windows.Data.Binding.
IListIndexerHidesCustomIndexer
Определяет, используются ли неправильные индексаторы IList ( true ) или должным образом ( false ) System.Windows.Data.Binding классом. .NET Framework 4.8
Switch.System.Windows.DoNotScaleForDpiChanges Определяет, происходит ли изменение DPI для каждой системы (значение false ) или для каждого отдельного монитора (значение true ). .NET Framework 4.6.2
Switch.System.Windows.
DoNotUsePresentationDpiCapabilityTier2OrGreater
Определяет, будут ли улучшены размеры элементов управления в System.Windows.Interop.HwndHost при запуске WPF в режиме, поддерживающем монитор, отключены ( true ) или включены ( false ). .NET Framework 4.8
Switch.System.Windows.Forms.
DomainUpDown.UseLegacyScrolling
Определяет, нужно ли разработчику специально выполнять DomainUpDown.UpButton() действия при наличии текста элемента управления. true для решения действия, UpButton() false для DomainUpDown.UpButton() действий и, DomainUpDown.DownButton() которые должны быть правильно синхронизированы. .NET Framework 4.7.2
Switch.System.Windows.Forms.
DontSupportReentrantFilterMessage
Истекает из кода, который позволяет пользовательской IMessageFilter.PreFilterMessage реализации безопасно фильтровать сообщения без возникновения исключения при Application.FilterMessage вызове метода. Дополнительные сведения см. в разделе Устранение рисков: пользовательские реализации IMessageFilter.PreFilterMessage. .NET Framework 4.6.1
Switch.System.Windows.Forms.
UseLegacyContextMenuStripSourceControlValue
Определяет, ContextMenuStrip.SourceControl возвращает ли свойство систему управления версиями, когда пользователь открывает меню из вложенного ToolStripMenuItem элемента управления. true для возврата null — устаревшее поведение; false значение для возврата системы управления версиями. .NET Framework 4.7.2
Switch.System.Windows.Forms.UseLegacyToolTipDisplay Определяет, отключена ли поддержка вызова подсказки ( true ) или включена ( false ). Включение поддержки вызова подсказки также требует использования устаревших специальных возможностей Switch.UseLegacyAccessibilityFeatures , определенных, Switch.UseLegacyAccessibilityFeatures.2 , и Switch.UseLegacyAccessibilityFeatures.3 все они будут отключены (задайте значение false ). .NET Framework 4.8
Switch.System.Windows.Input.Stylus.
EnablePointerSupport
Определяет, включен ли необязательный WM_POINTER стек касаний или пера в приложениях WPF. Дополнительные сведения см. в разделе Устранение рисков. Поддержка сенсорного ввода и пера на основе указателя. .NET Framework 4.7
Switch.System.Windows.Markup.
DoNotUseSha256ForMarkupCompilerChecksumAlgorithm
Определяет, используется ли алгоритм хэширования по умолчанию для контрольных сумм: SHA256 ( false ) или SHA1 ( true ).
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.7.2
Switch.System.Windows.Media.ImageSourceConverter.
OverrideExceptionWithNullReferenceException
Определяет, создается ли устаревшая NullReferenceException , а не исключение, которое точнее указывает на причину исключения (например, DirectoryNotFoundException или FileNotFoundException). Он предназначен для использования в коде, который зависит от обработки NullReferenceException. .NET Framework 4.7
Switch.System.Workflow.ComponentModel.
UseLegacyHashForXomlFileChecksum
определяет, используется ли для хэширования контрольной суммы файлов XOML в сборках проекта рабочего процесса алгоритм MD5 ( true ) или используется ли алгоритм SHA256, представленный в качестве значения по умолчанию в платформа .NET Framework 4,8.
Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
определяет, использует ли SqlTrackingService хэширование контрольных сумм в качестве хэш-алгоритма ( true ) для кэшированных строк или используется ли алгоритм SHA256, представленный в качестве значения по умолчанию в платформа .NET Framework 4,8.
Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
определяет, использует ли хэширование контрольных сумм в среде выполнения рабочих процессов алгоритм MD5 ( true ) для кэшированных определений рабочих процессов или используется ли алгоритм SHA256, представленный в качестве значения по умолчанию в платформа .NET Framework 4,8.
Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.UseLegacyAccessibilityFeatures определяет, включены или отключены специальные возможности, доступные начиная с платформа .NET Framework 4.7.1. .NET Framework 4.7.1
Switch.UseLegacyAccessibilityFeatures.2 определяет, включены ли функции специальных возможностей в платформа .NET Framework 4.7.2 ( false ) или отключены ( true ). если true значение равно, Switch.UseLegacyAccessibilityFeatures необходимо также true включить платформа .NET Framework специальных возможностей 4.7.1. .NET Framework 4.7.2
Switch.UseLegacyAccessibilityFeatures.3 определяет, включены ли специальные возможности, появившиеся в платформа .NET Framework 4,8 ( false ) или disabled ( true ). Если true значение Switch.UseLegacyAccessibilityFeatures равно, а Switch.UseLegacyAccessibilityFeatures.2 также должно иметь значение true . .NET Framework 4.8
Switch.UseLegacyToolTipDisplay Определяет, отображаются ли подсказки, когда пользователь наводит указатель мыши на элемент управления WPF ( true ) или они отображаются как на клавиатурном фокусе, так и через сочетание клавиш ( false , поведение по умолчанию). для приложений, работающих на платформа .NET Framework 4,8, но предназначенных для предыдущих версий платформа .NET Framework, включение поддержки фокуса клавиатуры и сочетаний клавиш требует, Switch.UseLegacyAccessibilityFeatures Switch.UseLegacyAccessibilityFeatures.2 Switch.UseLegacyAccessibilityFeatures.3 чтобы для параметра, и было задано значение false . .NET Framework 4.8
Switch.System.Xml.
IgnoreEmptyKeySequences
Определяет, пропускаются ли пустые последовательности ключей в составных ключах при проверке схемы XSD. Дополнительные сведения см. в разделе Устранение рисков. Проверка схемы XML. .NET Framework 4.6

Примечание

вместо добавления AppContextSwitchOverrides элемента в файл конфигурации приложения можно также задать параметры программным способом, вызвав static метод (в C#) или Shared (в Visual Basic) AppContext.SetSwitch .

Разработчики библиотек также могут определять пользовательские параметры, позволяющие вызывающим объектам отказаться от измененных функциональных возможностей, появившихся в более поздних версиях их библиотек. Дополнительные сведения см. в описании класса AppContext.

параметры ASP.NET приложений

можно настроить ASP.NET приложение для использования параметров совместимости, добавив <Add> элемент в <appSettings> раздел файла web.config.

В следующем примере элемент используется <add> для добавления двух параметров в <appSettings> раздел файла web.config:

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

Пример

В следующем примере элемент используется AppContextSwitchOverrides для определения одного переключателя совместимости приложений, Switch.System.Globalization.NoAsyncCurrentCulture который предотвращает перетекание культур между потоками в асинхронных вызовах метода.

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

В следующем примере элемент используется AppContextSwitchOverrides для определения двух переключателей совместимости приложений Switch.System.Globalization.NoAsyncCurrentCulture и Switch.System.IO.BlockLongPaths . Две пары "имя-значение" разделяются точкой с запятой.

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

См. также раздел