Applies To.NET Framework 4.7

狀況

假設您有 Microsoft.NET Framework 4.7 安裝在電腦上。您可能會注意到,在.NET Framework 執行的應用程式不尊重的 AppContext 參數的登錄中指定的相容性設定。在這個案例中,當您嘗試設定登錄選項 AppContext 旗標,它看起來像是 [登錄] 選項中指定的值設為False

原因

當程式讀取登錄中的 AppContext 參數的值時,就無法擷取的資料。在此情況下,則會假設性的方式有設定指定在登錄中,與False值傳回給應用程式。

解決方案

若要修正這個問題,請使用應用程式組態 (pp.config的) 檔所要的值來設定的旗標。

加入的app.config檔案中的 [ < 執行階段 > ] 區段中的< AppContextSwitchOverrides >項目。這個參數會有單一屬性,也就是,其值是字串,表示同時包含參數名稱和值的機碼或值組。

若要定義多個參數,分隔 <AppContextSwitchOverrides> 中的每個開關的機碼或值組項目的值屬性,以分號。在此情況下,<AppContextSwitchOverrides> 項目具有下列格式:

XML

<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />

若要定義組態設定中使用< AppContextSwitchOverrides >項目具有應用程式的範圍。也就是說,它會影響應用程式。

由於app.config檔案是特定的應用程式,您必須針對所有受影響的應用程式中將此動作。

如需有關 AppContext 的詳細資訊,請在 Microsoft 開發人員網路 (MSDN) 網站上前往下列主題:

AppContext 類別

更多的資訊

這個問題以後開始引進的工作,若要啟用以供在 AppDomain 的存留週期的很早期的 AppContext 參數的一部分。這允許會否則會破壞進行安全地,即使使用 AppContext 參數所需的程式碼執行在 AppDomain 讓向上的很早期的變更。

這個問題是關於多少記憶體配置給儲存從登錄中讀取的值。如果不足,無法配置的空間來儲存從登錄中讀取的值,它將會回到預設值,則為 False

狀態

Microsoft 已確認,這是在 < 適用於=""> 一節所列出的 Microsoft 產品的問題,以及 Microsoft 投入的方案中的產品即將推出的版本。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。