分享方式:


<AppContextSwitchOverrides> 元素

定義一或多個由 AppContext 類別所使用的參數,以提供新功能的退出機制。

<configuration>
  <runtime>
    <AppContextSwitchOverrides>

語法

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

屬性和項目

下列章節說明屬性、子元素和父元素。

屬性

屬性 描述
value 必要。 定義一或多個參數名稱及其相關聯的布爾值。

value 屬性

Description
“name=value” 預先定義的參數名稱及其值 (truefalse)。 多個參數名稱/值組會以分號 (“;” ) 分隔。 如需 .NET Framework 所支援之預先定義參數名稱的清單,請參閱一節。

子元素

無。

父項目

元素 描述
configuration 通用語言執行平台和 .NET Framework 應用程式所使用之每個組態檔中的根項目。
runtime 包含有關執行階段初始化選項的資訊。

備註

從 .NET Framework 4.6 開始, <AppContextSwitchOverrides> 組態檔中的 專案可讓 API 的呼叫端判斷其應用程式是否可以利用新功能,或保留與舊版連結庫的相容性。 例如,如果 API 的行為在連結庫的兩個版本之間有所變更,元素 <AppContextSwitchOverrides> 可讓該 API 的呼叫端在支援新功能的連結庫版本上選擇退出新的行為。 針對在 .NET Framework 中呼叫 API 的應用程式, <AppContextSwitchOverrides> 元素也可以允許以舊版 .NET Framework 為目標的呼叫端,如果應用程式是在包含該功能的 .NET Framework 版本上執行,則其應用程式可以選擇加入新功能。

元素 value<AppContextSwitchOverrides> 屬性是由由一或多個分號分隔的名稱/值組所組成的單一字串所組成。 每個名稱都會識別相容性參數,且其對應的值為布爾值,truefalse指出是否已設定參數。 根據預設,參數為 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 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.7.1
Switch.System.Activities.
UseMD5CryptoServiceProviderForWFDebugger
當設定為 false時,允許在啟用 FIPS 時,使用 Visual Studio 對 XAML 型工作流程專案進行偵錯。 如果沒有它, NullReferenceException 會在對 System.Activities 元件中方法的呼叫中擲回 。 .NET Framework 4.7
Switch.System.Activities.
UseMD5ForWFDebugger
控制調試程式中工作流程實例的總和檢查碼是否使用 MD5 或 SHA1。 .NET Framework 4.7
Switch.System.Activities.
UseSHA1HashForDebuggerSymbols
控制工作流程總和檢查碼哈希是否使用 .NET Framework 4.7 (true) 中引進為預設值的 SHA1 演算法,還是使用 .NET Framework 4.8 中預設引進的預設 SHA256 演算法。false
由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.8
Switch.System.Diagnostics.
IgnorePortablePDBsInStackTraces
控制使用可攜式 PDB 時取得的堆疊追蹤是否可包含來源檔案和行資訊。 false 包含原始程式檔和行資訊;否則為 true .NET Framework 4.7.2
Switch.System.Drawing.
DontSupportPngFramesInIcons
控制當物件有 PNG 畫面格時Icon,方法是否Icon.ToBitmap擲回例外狀況。 如需詳細資訊,請參閱風險降低:Icon 物件中的 PNG 畫面格 .NET Framework 4.6
Switch.System.Drawing.Text.
DoNotRemoveGdiFontsResourcesFromFontCollection
判斷 當 方法新增至集合PrivateFontCollection.AddFontFile(String)時,物件是否System.Drawing.Text.PrivateFontCollection適當地處置。 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” 或 Gannen (預設行為)。 如需詳細資訊,請參閱 使用行事曆 .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
控制原生 OS 例程是否用於 類別 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
控制是否使用舊版路徑正規化,以及和 Path.GetPathRoot 方法是否Path.GetDirectoryName支援 URI 路徑。 如需詳細資訊,請參閱 風險降低:路徑正規化風險降低:路徑冒號檢查 .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
停用使用 SCH_SEND_AUX_RECORD,以停用 TLS1.0 瀏覽器惡意探索 SSL/TLS (BEAST) 風險降低功能。 .NET Framework 4.6
Switch.System.Net.
DontEnableSchUseStrongCrypto
控制和 System.Net.Security.SslStream 類別是否可以System.Net.ServicePointManager使用 SSL 3.0 通訊協定。 如需詳細資訊,請參閱風險降低:TLS 通訊協定 .NET Framework 4.6
Switch.System.Net.
DontEnableSystemDefaultTlsVersions
停用 SystemDefault TLS 版本,以還原回 Tls12、Tls11、Tls 的預設值。 .NET Framework 4.7
Switch.System.Net.
DontEnableTlsAlerts
停用 SslStream TLS 伺服器端警示。 .NET Framework 4.7
Switch.System.Runtime.InteropServices.
DoNotMarshalOutByrefSafeArrayOnInvoke
控制 COM Interop 事件上的 ByRef SafeArray 參數是否封送處理回原生程式代碼 (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
控制是否嘗試重複使用 AesCryptoServiceProvider 解密工具擲回 CryptographicException。 如需詳細資訊,請參閱 AesCryptoServiceProvider 解密器提供可重複使用的轉換 .NET Framework 4.6.2
Switch.System.Security.Cryptography.
DoNotAddrOfCspParentWindowHandle
控制 CspParameters.ParentWindowHandle 屬性的值是否為 IntPtr,代表視窗句柄的記憶體位置,還是它是視窗句柄(HWND)。 如需詳細資訊,請參閱風險降低︰CspParameters.ParentWindowHandle 應該有 HWND .NET Framework 4.7
Switch.System.Security.Cryptography.
UseLegacyFipsThrow
控制在 FIPS 模式中使用 Managed 密碼編譯類別會擲回 CryptographicExceptiontrue) 或依賴系統連結庫實作 (false)。 .NET Framework 4.8
Switch.System.Security.Cryptography.Pkcs.
UseInsecureHashAlgorithms
判斷某些 SignedCMS 作業的預設值為 SHA1 或 SHA256。
由於 SHA1 的衝突問題,Microsoft 建議使用 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 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.7.1
Switch.System.ServiceModel.
AllowUnsignedToHeader
判斷安全性模式是否 TransportWithMessageCredential 允許具有不帶正負號「至」標頭的訊息。 這是加入開關。 如需詳細資訊,請參閱 .NET Framework 4.6.1 中的運行時間變更。 .NET Framework 4.6.1
Switch.System.ServiceModel.
DisableAddressHeaderCollectionValidation>
如果其中一個專案為 null,則控制建AddressHeaderCollection(IEnumerable<AddressHeader>)構函式是否擲回 ArgumentException .NET Framework 4.7.1
Switch.System.IdentityModel.
DisableCngCertificates
判斷嘗試搭配 CSG 金鑰儲存提供者使用 X509 憑證是否擲回例外狀況。 如需詳細資訊,請參閱 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
判斷 WCF 中 MSMQ 訊息的預設訊息簽署演算法是否為 SHA1 或 SHA256。
由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.7.1
Switch.System.ServiceModel.
UseSha1InPipeConnectionGetHashAlgorithm
控制 WCF 是否使用 SHA1 或 SHA256 哈希來產生命名管道的隨機名稱。
由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.7.1
Switch.System.ServiceModel.Internals
IncludeNullExceptionMessageInETWTrace
控制是否要在例外狀況訊息為 Null 時擲回 NullReferenceException .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 中 Unicode 雙向字元的處理。 true 表示將它們從 URI 中去除; false 保留和百分比編碼。 .NET Framework 4.7.2
Switch.System.Windows.Controls.Grid.
StarDefinitionsCanExceedAvailableSpace
判斷 Windows Presentation Foundation 在配置空間給 *-columns 時,是否套用舊演算法 (true) 或新的演算法 (false)。 如需詳細資訊,請參閱風險降低︰方格控制項對 Star-columns 的空間配置 .NET Framework 4.7
Switch.System.Windows.Controls.TabControl.
SelectionPropertiesCanLagBehindSelectionChangedEvent
控制選取器或索引標籤控制器或索引標籤在引發選取變更事件之前,一律會更新其選取值屬性值。 .NET Framework 4.7.1
Switch.System.Windows.Controls.Text.
UseAdornerForTextboxSelectionRendering
判斷 和控制項是否可以使用TextBoxPasswordBox非裝飾項式選取轉譯,以防止遮蔽的文字 (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
控制當對應的控件窗口終結時,提供者是否中斷連線(truefalse)。 這個參數會提供選擇加入效能修正,以解決物件的流失 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
決定當使用者從巢狀ToolStripMenuItem控件開啟功能表時,屬性是否ContextMenuStrip.SourceControl傳回原始檔控件。 true 表示傳回 null、舊版行為; false 傳回原始檔控制。 .NET Framework 4.7.2
Switch.System.Windows.Forms.UseLegacyToolTipDisplay 控制工具提示調用支援是否停用 (true) 或啟用 (false)。 開啟工具提示呼叫支援也需要、 和所Switch.UseLegacyAccessibilityFeatures定義的舊版輔助功能功能功能,且Switch.UseLegacyAccessibilityFeatures.3全都已停用 (設定為 false)。 Switch.UseLegacyAccessibilityFeatures.2 .NET Framework 4.8
Switch.System.Windows.Input.Stylus.
EnablePointerSupport
判斷 WPF 應用程式中是否啟用選擇性 WM_POINTER的觸控/手寫筆堆疊。 如需詳細資訊,請參閱 風險降低:指標型觸控和手寫筆支援 .NET Framework 4.7
Switch.System.Windows.Markup.
DoNotUseSha256ForMarkupCompilerChecksumAlgorithm
判斷用於總和檢查碼的預設哈希演算法是SHA256 (false) 或SHA1(true)。
由於 SHA1 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.7.2
Switch.System.Windows.Media.ImageSourceConverter.
OverrideExceptionWithNullReferenceException
控制是否擲回舊版 NullReferenceException ,而不是更具體地指出例外狀況原因的例外狀況(例如 DirectoryNotFoundExceptionFileNotFoundException。 它供程序代碼使用,視處理 NullReferenceException 而定。 .NET Framework 4.7
Switch.System.Workflow.ComponentModel.
UseLegacyHashForXomlFileChecksum
控制工作流程項目組建中 XOML 檔案的總和檢查碼哈希是否使用 MD5 演算法 (true),還是使用 .NET Framework 4.8 中引進為預設值的 SHA256 演算法。
由於 MD5 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForSqlTrackingCacheKey
控制 SqlTrackingService 的總和檢查碼哈希是否使用 MD5 演算法true進行快取字串,或是否使用 .NET Framework 4.8 中引進為預設值的 SHA256 演算法。
由於 MD5 的衝突問題,Microsoft 建議使用 SHA256。
.NET Framework 4.8
Switch.System.Workflow.Runtime.
UseLegacyHashForWorkflowDefinitionDispenserCacheKey
控制工作流程運行時間的總和檢查碼哈希是否使用 MD5 演算法進行true快取的工作流程定義,還是使用 .NET Framework 4.8 中引進為預設值的 SHA256 演算法。
由於 MD5 的衝突問題,Microsoft 建議使用 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.UseLegacyAccessibilityFeaturesSwitch.UseLegacyAccessibilityFeatures.2 也必須是 true .NET Framework 4.8
Switch.UseLegacyToolTipDisplay 控制當使用者將滑鼠游標停留在 WPF 控制項上時true,是否顯示工具提示,或是否同時顯示在鍵盤焦點上,以及透過鍵盤快速鍵顯示(false預設行為)。 對於在 .NET Framework 4.8 上執行但以舊版 .NET Framework 為目標的應用程式,啟用鍵盤焦點和快捷鍵支援時,都必須 Switch.UseLegacyAccessibilityFeatures將 、 Switch.UseLegacyAccessibilityFeatures.2Switch.UseLegacyAccessibilityFeatures.3 全部設定為 false .NET Framework 4.8
Switch.System.Xml.
IgnoreEmptyKeySequences
控制複合索引鍵中的空白索引鍵序列是否由 XSD 架構驗證忽略。 如需詳細資訊,請參閱 風險降低:XML 架構驗證 .NET Framework 4.6

注意

您也可以呼叫 AppContext.SetSwitch 方法,以程式設計方式設定參數,而不是將 專案新增AppContextSwitchOverrides至應用程式組態檔。

連結庫開發人員也可以定義自定義參數,以允許呼叫者退出宣告其連結庫更新版本中引進的已變更功能。 如需詳細資訊,請參閱 AppContext 類別。

ASP.NET 應用程式中的切換

您可以將 Add> 元素新增<<web.config 檔案的 appSettings> 區段,將 ASP.NET 應用程式設定為使用相容性設定。

下列範例會 <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>

另請參閱