Symptomen
Stel dat u beschikt over Microsoft .NET Framework geïnstalleerd op een computer 4.7. Merkt u dat de toepassingen die worden uitgevoerd op .NET Framework de compatibiliteitsinstellingen die zijn opgegeven in het register voor AppContext switches niet naleven. In dit scenario is wanneer u probeert in te stellen een register, optie voor een AppContext vlag, het gedraagt zich als de waarde die opgegeven in de optie van het register is ingesteld op False.
Oorzaak
Wanneer het programma de waarde van een switch AppContext in het register leest, kan niet de gegevens worden opgehaald. In dat geval wordt ervan uitgegaan dat er iets mis met de manier waarop is de instelling is opgegeven in het register en de waarde False wordt geretourneerd aan de toepassing.
Oplossing
U kunt dit probleem oplossen door het toepassingsconfiguratiebestand (eenpp.config) te gebruiken om de vlag instellen op de gewenste waarde.
Een element < AppContextSwitchOverrides > toevoegen aan de sectie < runtime > van het bestand app.config . De schakelaar heeft één enkel kenmerk, dat wil zeggen, waarde, waarvan de waarde is een tekenreeks met een combinatie van een sleutel of waarde met de naam van de schakeloptie en de waarde.
Als u meerdere schakelopties definieert, scheiden van elke switch sleutel of waarde-paar in het <AppContextSwitchOverrides> value-kenmerk van het element met een puntkomma. In dat geval wordt heeft het element <AppContextSwitchOverrides> de volgende indeling:
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
Met behulp van het element < AppContextSwitchOverrides > voor het definiëren van een configuratie-instelling is het toepassingsbereik. Dat geldt alleen voor de toepassing voor.
Omdat bestanden app.config specifieke toepassing, moet u dit doen voor alle betrokken toepassingen.
Ga naar het volgende onderwerp op de website van Microsoft Developer Network (MSDN) voor meer informatie over AppContext:
Meer informatie
Dit probleem werd geïntroduceerd als onderdeel van het werk over de schakelopties voor de AppContext al vroeg in de levenscyclus AppDomain worden gebruikt. Dit toegestaan zou anders worden breken moet veilig worden uitgevoerd, zelfs als de code die u nodig hebt voor een switch AppContext uitgevoerd zeer vroeg in de AppDomain weergeven van wijzigingen.
Het probleem is over hoeveel geheugen wordt toegewezen voor het opslaan van de waarde die uit het register worden gelezen. Als de toegewezen ruimte voor het opslaan van de waarde die kan worden gelezen uit het register onvoldoende is, het zal teruggrijpen op de standaardwaarde False.
Status
Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is en Microsoft aan een oplossing in de toekomstige versies van het product werkt.