Sintomi
Si supponga di disporre di Microsoft.NET Framework 4.7 installato in un computer. Si noti che le applicazioni in esecuzione su di.NET Framework non rispettano le impostazioni di compatibilità che sono specificate nel Registro di sistema per le opzioni di AppContext. In questo scenario, quando si tenta di impostare un'opzione del Registro di sistema per un flag AppContext, si comporta come se il valore specificato nell'opzione del Registro di sistema è impostato su False.
Causa
Quando il programma legge il valore di un'opzione AppContext del Registro di sistema, i dati non possono essere recuperati. In questo caso, si presuppone che si verificano problemi con il modo in cui si specifica l'impostazione del Registro di sistema e il valore False viene restituito all'applicazione.
Risoluzione
Per risolvere questo problema, utilizzare il file di configurazione(pp.config)per impostare il flag per il valore desiderato.
Aggiungere un elemento < AppContextSwitchOverrides > nella sezione < runtime > del file app. config . Lo switch è un singolo attributo, ovvero valore, il cui valore è una stringa che rappresenta una coppia di chiave o un valore che contiene sia il nome dell'opzione e il valore.
Per definire più opzioni, separare la coppia chiave o un valore di ogni commutatore in <AppContextSwitchOverrides> attributo value dell'elemento con un punto e virgola. In tal caso, l'elemento <AppContextSwitchOverrides> ha il seguente formato:
XML
<AppContextSwitchOverrides value=”switchName1=value1;switchName2=value2” />
Utilizzo dell'elemento < AppContextSwitchOverrides > per definire un'impostazione di configurazione è l'ambito di applicazione. Ovvero, il problema riguarda solo l'applicazione.
Poiché il file app. config sono specifici dell'applicazione, è necessario eseguire questa operazione per tutte le applicazioni interessate.
Per ulteriori informazioni su AppContext, visitare il seguente argomento sul sito Web Microsoft Developer Network (MSDN):
Ulteriori informazioni
Questo problema è stato introdotto come parte del lavoro per attivare opzioni AppContext devono essere utilizzate molto presto nel ciclo di vita di AppDomain. Le modifiche che sarebbero altrimenti interruzioni per essere eseguito in modo sicuro, anche se il codice necessario per utilizzare un'opzione di AppContext è stato eseguito molto presto nel dominio applicazione portare della ciò è consentito.
Il problema riguarda la quantità di memoria viene allocata per memorizzare un valore che viene letto dal Registro di sistema. Se lo spazio allocato per memorizzare il valore letto dal Registro di sistema è insufficiente, tornerà al valore predefinito false.
Stato
Microsoft ha confermato che si tratta di un problema nei prodotti Microsoft elencati nella sezione "Si applica a" e Microsoft sta lavorando a una soluzione nelle versioni future del prodotto.