<Элемент 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 |
Определяет, используется ли контрольная сумма для экземпляра рабочего процесса в отладчике 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 |
Определяет, получают ли трассировки стека при использовании переносимых 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 SafeArray на маршале событий взаимодействия 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 экземпляры преимущества повышения производительности для высокомасштабируемых сред. Если улучшения производительности включены; если 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 |
Определяет, доступен ли отрисовка выделения на основе элементов и элементов управления, PasswordBox TextBox чтобы предотвратить отрисовку текста (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 |
Определяет, используется ли хэширование контрольной суммы файлов XOML в сборках проекта рабочего процесса с помощью алгоритма MD5 илиtrue используется ли алгоритм SHA256, представленный в качестве значения по умолчанию в платформа .NET Framework 4.8.Из-за конфликта с MD5 корпорация Майкрософт рекомендует использовать SHA256. |
.NET Framework 4.8 |
Switch.System.Workflow.Runtime. UseLegacyHashForSqlTrackingCacheKey |
Определяет, использует ли хэширование контрольной суммы sqlTrackingService алгоритм MD5 (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 ) или отключены (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
элемента в файл конфигурации приложения можно также задать коммутаторы программным способом, вызвав 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.IO.BlockLongPaths
Switch.System.Globalization.NoAsyncCurrentCulture
. Точка с запятой разделяет две пары name/value.
<configuration>
<runtime>
<AppContextSwitchOverrides
value="Switch.System.Globalization.NoAsyncCurrentCulture=true;Switch.System.IO.BlockLongPaths=true" />
</runtime>
</configuration>