現象
Microsoft.NET Framework をコンピューターにインストールされている 4.7 を使用するいると仮定します。.NET Framework 上で実行されるアプリケーションが AppContext スイッチ用のレジストリで指定されている互換性の設定を考慮しない場合もあります。このシナリオでは、AppContext フラグには、レジストリのオプションを設定しようとすると、ように動作、[レジストリ] オプションで指定されている値がFalseに設定します。
原因
プログラムは、レジストリの AppContext スイッチの値を読み取り、データを取得できません。この例と見なされます方法に問題があること、設定は、レジストリで指定し、 Falseの値がアプリケーションに返されます。
解決策
この問題を解決するのにには、目的の値にフラグを設定するのには、アプリケーション構成 (pp.configの) ファイルを使用します。
App.configファイルの< ランタイム >セクションには、 < AppContextSwitchOverrides >要素を追加します。スイッチには、1 つの属性は、値値は、スイッチの名前と値の両方が含まれているキーまたは値のペアを表す文字列です。
<AppContextSwitchOverrides> の各スイッチのキーまたは値のペアを個別に複数のスイッチを定義するには、要素の値の属性をセミコロンで区切ります。その場合は、<AppContextSwitchOverrides> 要素には、次の形式があります。
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
< AppContextSwitchOverrides >要素を使用して構成設定を定義すると、アプリケーションのスコープがあります。アプリケーションのみに影響を与えます。
App.configファイルがアプリケーションに固有であるため、影響を受けるすべてのアプリケーションでこれを行う必要があります。
AppContext の詳細については、Microsoft Developer Network (MSDN) web サイトで次のトピックを参照してください。
詳細
この問題は、AppDomain のライフ サイクルの初期段階で使用する AppContext スイッチを有効にする作業の一環として導入されました。AppContext スイッチを使用する必要があるコードが AppDomain 表示の上で非常に早い段階を実行した場合でも、安全に行う分割それ以外の場合は変更を許可この。
問題は、レジストリから読み取られる値を格納するメモリの容量が割り当てられているです。レジストリから読み取られる値を格納する割り当て済みの領域が十分ではない場合、クリアテキストに既定値のfalse を指定します。
状況
マイクロソフトは、この資料の対象] セクションに記載されているマイクロソフト製品の問題と、マイクロソフト製品の将来のバージョンで解決策に取り組んでいることを確認済み。