Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il bug menzionato nell'output della console dell'interfaccia della riga di comando, causato da una modifica che interrompe l'uso di UTF-8, per cui l'SDK .NET ha cambiato la codifica dell'intera console, è stato risolto. La codifica della console non rimane più UTF-8 dopo che .NET SDK esegue un comando. È possibile che gli utenti si affidassero a tale comportamento, quindi si tratta di una modifica che altera il funzionamento previsto.
Inoltre, .NET SDK non modifica più la codifica in UTF-8 nelle versioni precedenti di Windows 10 che non lo supportano completamente.
Comportamento precedente
- L'SDK ha modificato la codifica di un terminale dopo l'esecuzione di un comando,
dotnet buildad esempio . - L'SDK usava la codifica UTF-8 per eseguire correttamente il rendering di caratteri non inglesi, anche nelle versioni di Windows 10 che non supportavano ufficialmente UTF-8. Il comportamento non è stato definito in tali versioni.
Nuovo comportamento
- L'SDK non modifica la codifica del terminale dopo l'uscita per altri programmi.
- Per impostazione predefinita, l'SDK non usa più UTF-8 per le versioni di Windows che non lo supportano.
Versione introdotta
7.0.3xx .NET 8 Preview 3
Tipo di cambiamento che interrompe la compatibilità
Questa modifica può influire sulla compatibilità binaria. È anche un cambiamento comportamentale.
Motivo della modifica
C'era un bug esistente in cui il .NET SDK aveva alterato la codifica della console per altri programmi. Si tratta di un bug risolto, che ha portato a una modifica critica.
Le versioni precedenti di Windows 10 (ovvero le versioni precedenti all'aggiornamento di novembre 2019) non supportano UTF-8, quindi il comportamento predefinito non deve essere quello di usare la codifica UTF-8. Invece, è ora disponibile un'opzione di iscrizione volontaria.
Azione consigliata
Se l'app deve modificare la tabella codici in Windows, può eseguire un processo per richiamare il chcp comando. L'app non deve basarsi su .NET SDK per modificare la codifica.
Per le versioni precedenti di Windows 10 che non supportano ufficialmente UTF-8 in cui si vuole che .NET SDK continui a modificare la codifica in UTF-8 per lingue non in lingua inglese, è possibile impostare la variabile DOTNET_CLI_FORCE_UTF8_ENCODING di ambiente su true o 1.