Simptome
Să presupunem că aveți Microsoft .NET Framework 4,7 instalat pe un computer. Este posibil să Observați că aplicațiile care se execută pe .NET Framework nu respectă setările de compatibilitate care sunt specificate în registry pentru AppContext argumente. În acest scenariu, când încercați să setați o opțiune de registry pentru un semnalizator AppContext, se comportă ca în cazul în care valoarea specificată în opțiunea de registry este setată la False.
Cauza
Atunci când programul Citeşte valoarea un parametru AppContext în registry, datele nu pot fi regăsite. În acest caz, se presupune că ceva este în neregulă cu modul în care această setare este specificat în registry și valoarea fals este returnat în aplicația.
Rezolvare
Pentru a remedia această problemă, utilizați fișierul de configurare (opp.config) aplicație pentru a seta semnalizarea de la valoarea dorită.
Adăugați un element < AppContextSwitchOverrides > secțiunea < runtime > a fișierului app.config . Parametrul are un singur atribut, valoarea, a cărei valoare este un șir care reprezintă o pereche cheie sau o valoare care conține atât numele de comutare și valoarea.
Pentru a defini mai multe argumente, separați fiecare parametru cheia sau valoarea pereche în <AppContextSwitchOverrides> element valoare atribut cu punct și virgulă. În acest caz, elementul <AppContextSwitchOverrides> are următorul format:
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
Utilizând elementul < AppContextSwitchOverrides > pentru a defini o setare de configurare a domeniul de aplicație. Aceasta afectează numai aplicația.
Deoarece app.config fișiere sunt specifice aplicațiilor, trebuie să face acest lucru pentru toate aplicaţiile afectate.
Pentru mai multe informații despre AppContext, accesați următorul subiect pe site-ul Web Microsoft Developer Network (MSDN):
Mai multe informații
Această problemă a fost introdus în cadrul de lucru pentru a activa AppContext parametri pentru a fi utilizate foarte devreme în ciclul de viaţă AppDomain. Acest permis modificările pe care ar fi altfel spargerea pentru a fi efectuat în condiţii de siguranţă, chiar dacă codul care este necesar să utilizați un parametru AppContext executat foarte devreme în AppDomain aduce-o.
Problema este despre câtă memorie este alocat pentru a stoca valoarea pe care se citește din registry. Dacă este insuficient spațiu alocat pentru a stoca valoarea pe care se citește din registry, acesta va fi valoarea implicită a fals.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea "Se aplică la" și Microsoft lucrează la o soluție în versiunile viitoare ale produsului.