<Элемент AppContextSwitchOverrides>

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

<configuration>
  <среда выполнения>
    <AppContextSwitchOverrides>

Синтаксис

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

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

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

Атрибуты

Атрибут Description
value Обязательное. Определяет одно или несколько имен коммутаторов и связанные логические значения.

Атрибут value

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

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

Нет.

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

Элемент Description
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 поддерживает следующие параметры:

Имя переключателя Description Введенный
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.Activities. .NET Framework 4.7
Switch.System.Activities.
UseMD5ForWFDebugger
Определяет, используется ли проверка sum для экземпляра рабочего процесса в отладчике MD5 или SHA1. .NET Framework 4.7
Switch.System.Activities.
UseSHA1HashForDebuggerSymbols
Определяет, использует ли хэширование рабочих процессов проверка sum алгоритм SHA1, представленный в качестве стандартного алгоритма платформа .NET Framework 4.7 (true), или используется ли алгоритм SHA256 по умолчанию в платформа .NET Framework 4.8 ().false
Из-за конфликта с SHA1 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
Определяет, получают ли трассировки стека при использовании переносимых PDF-файлов и сведений о исходном файле и строке. 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) идентификатора объекта (OID). Расширение расширенного использования ключа (EKU) — это коллекция идентификаторов объекта (OID), которые указывают приложения, использующие ключ. .NET Framework 4.6
Switch.System.Net.
DontEnableSchSendAuxRecord
Отключает защиту браузера TLS1.0 от устранения рисков SSL/TLS (BEAST), отключив использование 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 SystemDefault, отменить изменения обратно в tls12, Tls11, Tls11. .NET Framework 4.7
Switch.System.Net.
DontEnableTlsAlerts
Отключает оповещения на стороне сервера SSLStream. .NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
Определяет, будут ли параметры ByRef Сейф Array на маршале событий взаимодействия COM обратно в машинный код (false) или отключается ли маршалирование обратно в машинный код (true). .NET Framework 4.8
Switch.System.Runtime.Serialization.
DoNotUseECMAScriptV6EscapeControlCharacter
Определяет, сериализуется ли DataContractJsonSerializer некоторые символы управления на основе стандартов ECMAScript V6 и 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
Определяет, вызывает CryptographicExceptionли попытка повторного использования AesCryptoServiceProvider расшифровки. Дополнительные сведения см. в разделе расшифровщик 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 (CryptographicExceptiontrue) или использует реализацию системных библиотек (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 режим безопасности сообщения с заголовком unsigned "to". Это параметр согласия. Дополнительные сведения см. в разделе "Изменения среды выполнения" в платформа .NET Framework 4.6.1. .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableAddressHeaderCollectionValidation>
Определяет, вызывает ArgumentException ли AddressHeaderCollection(IEnumerable<AddressHeader>) конструктор один из элементов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 экземпляры преимущества повышения производительности для высокомасштабируемых сред. Если улучшения производительности включены; если truefalse (значение по умолчанию), они отключены. .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
Определяет, доступен ли отрисовка выделения на основе элементов и элементов управления, PasswordBoxTextBox чтобы предотвратить отрисовку текста (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
Определяет, отключаются ли улучшения размера элементов управления при запуске WPF в System.Windows.Interop.HwndHost режиме поддержки для каждого монитора (true) или включены (false). .NET Framework 4.8
Switch.System.Windows.Forms.
DisconnectUiaProvidersOnWmDestroy
Определяет, отключаются ли поставщики при уничтожении соответствующего окна управления (true) или нет (false). Этот переключатель предоставляет согласие на исправление производительности для устранения утечки IRawElementProviderSimple объектов. .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
Определяет, используется ли хэширование проверка sum файлов XOML в проекте рабочего процесса с помощью алгоритма MD5 илиtrue используется ли алгоритм SHA256, представленный по умолчанию в платформа .NET Framework 4.8.
Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
Определяет, используется ли хэширование проверка sum службой SqlTrackingService для кэшированных строк илиtrue используется ли алгоритм SHA256, используемый по умолчанию в платформа .NET Framework 4.8.
Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256.
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
Определяет, используется ли хэширование проверка sum в среде выполнения рабочего процесса алгоритм 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) или отключены (true). Если true, Switch.UseLegacyAccessibilityFeatures а Switch.UseLegacyAccessibilityFeatures.2 также должен быть true. .NET Framework 4.8
Switch.UseLegacyToolTipDisplay Определяет, отображаются ли подсказки при наведении курсора мыши на элемент управления WPF (true), или отображаются ли они как на фокусе клавиатуры, так и с помощью сочетания клавиш (falseповедение по умолчанию). Для приложений, работающих на платформа .NET Framework версии 4.8, но предназначенных для предыдущих версий платформа .NET Framework, для включения поддержки фокуса клавиатуры и сочетаний клавиш требуется, чтобы Switch.UseLegacyAccessibilityFeaturesSwitch.UseLegacyAccessibilityFeatures.2, и Switch.UseLegacyAccessibilityFeatures.3 все они были заданыfalse. .NET Framework 4.8
Switch.System.Xml.
IgnoreEmptyKeySequences
Определяет, игнорируются ли пустые последовательности ключей в составных ключах при проверке схемы XSD. Дополнительные сведения см. в разделе "Устранение рисков: проверка схемы XML". .NET Framework 4.6

Примечание.

Вместо добавления AppContextSwitchOverrides элемента в файл конфигурации приложения можно также задать коммутаторы программным способом, вызвав AppContext.SetSwitch метод.

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

Коммутаторы в приложениях ASP.NET

Вы можете настроить приложение ASP.NET для использования параметров совместимости, добавив <элемент Add> в <приложение Параметры> раздел файла 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.IO.BlockLongPathsSwitch.System.Globalization.NoAsyncCurrentCulture . Точка с запятой разделяет две пары name/value.

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

См. также