Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A CLI-konzol kimenetében említett hiba, amely az UTF-8-ra való áttérés során kompatibilitástörést okozott, ahol a .NET SDK megváltoztatta a teljes konzol kódolását, kijavításra került. A konzol kódolása már nem marad UTF-8, miután a .NET SDK végrehajt egy parancsot. Lehetséges, hogy a felhasználók erre a viselkedésre támaszkodtak, ezért ez egy kompatibilitástörő változás.
Emellett a .NET SDK már nem módosítja a kódolást UTF-8-ra a régebbi Windows 10-verziókon, amelyek nem támogatják teljes mértékben.
Előző viselkedés
- Az SDK módosította a terminál kódolását egy olyan parancs futtatása után, mint például a
dotnet build. - Az SDK az UTF-8 kódolással helyesen renderelte a nem angol karaktereket, még a Windows 10 olyan verzióiban is, amelyek hivatalosan nem támogatták az UTF-8-at. A viselkedés nincs meghatározva ezeken a verziókon.
Új viselkedés
- Az SDK nem módosítja a terminálkódolást a többi programból való kilépés után.
- Alapértelmezés szerint az SDK már nem használja az UTF-8-at olyan Windows-verziókhoz, amelyek nem támogatják azt.
Bevezetett verzió
7.0.3xx .NET 8 előzetes verzió 3
A kompatibilitástörő változás típusa
Ez a változás befolyásolhatja a bináris kompatibilitást. Ez viselkedésbeli változás is.
A változás oka
Volt egy meglévő hiba, amely miatt a .NET SDK hatással volt a konzol más programok kódolására. Ezt a hibát kijavítottuk, ami ezt a kompatibilitástörő változást eredményezte.
A Windows 10 régebbi verziói (azaz a 2019. novemberi frissítés előtti verziók) nem támogatták az UTF-8-at, ezért az alapértelmezett viselkedés nem az UTF-8 kódolás használata lehet. Ehelyett most már elérhető egy feliratkozás.
Javasolt művelet
Ha az alkalmazásnak módosítania kell a windowsos kódlapot, futtathat egy folyamatot a chcp parancs meghívásához. Az alkalmazásnak nem szabad a .NET SDK-ra támaszkodnia a kódolás módosításához.
Az olyan régebbi Windows 10-verziók esetében, amelyek hivatalosan nem támogatják az UTF-8-at, ahol azt szeretné, hogy a .NET SDK továbbra is UTF-8-ra módosítsa a kódolást a nem angol nyelvű nyelvek esetében, beállíthatja a környezeti változót DOTNET_CLI_FORCE_UTF8_ENCODING 1-re vagy 1-re true .