Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              DOTNET_CLI_UI_LANGUAGE Om miljövariabeln eller VSLANG anges ändras .NET CLI-konsolens utdata och indatakodning till UTF-8, så att kodsidan också kan ändras till UTF-8. Det här nya beteendet gör att tecken från språk som anges av dessa miljövariabler återges korrekt.
Den här ändringen påverkar endast Windows-operativsystem (kodningen var okej på andra plattformar). Dessutom gäller den endast för Windows 10- och senare versioner där användargränssnittskulturen som användaren anger inte är engelsk.
Tidigare beteende
Tecken på vissa språk, inklusive kinesiska, tyska, japanska och ryska, skulle ibland visas som förvrängda tecken eller som ? i konsolen. Till exempel:
C:\>dotnet build
MSBuild version 17.3.0-preview[...] for .NET
  ???????????????...
Nytt beteende
Från och med .NET 7 (version 7.0.3xx) och .NET 8 återges tecknen korrekt. Både kodningen och kodsidan ändras. Till exempel:
C:\>dotnet build
MSBuild version 17.3.0-preview[...] for .NET
  正在确定要还原的项目…
Versioner av Windows som är äldre än Windows 10 1909 har inte fullt stöd för UTF-8 och kan få problem efter den här ändringen. (Från och med .NET 8 och .NET 7.0.300 SDK ändrar .NET SDK inte längre kodningen till UTF-8 i dessa versioner, som standard. Om du vill använda UTF-8 igen även i Windows 10-versioner som inte stöder det använder du DOTNET_CLI_FORCE_UTF8_ENCODING miljövariabeln.)
Dessutom fanns det en befintlig bugg där SDK:et kan påverka kodningen av andra kommandon och program som anropas i samma kommandotolk när SDK:et har slutfört körningen. Nu när SDK:et oftare ändrar kodningen kan effekten av den här buggen öka. Felet har dock åtgärdats i .NET 8 och .NET 7.0.300 SDK. Mer information finns i SDK:n ändrar inte längre konsolkodning efter slutförande.
Version lanserad
7.0.3xx .NET 8 Förhandsversion 1
Typ av brytande ändring
Den här ändringen kan påverka källkompatibilitet och binär kompatibilitet. Det är också en beteendeförändring.
Orsak till ändring
Att använda .NET CLI på icke-engelska språk gav en dålig upplevelse.
Utvecklare som inte redan använde variablerna VSLANG och DOTNET_CLI_UI_LANGUAGE påverkas inte. Effekten bör vara minimal, eftersom den här språkinställningen inte skulle ha fungerat bra till att börja med på grund av förvrängda tecken. Dessutom kan endast utvecklare som använder Windows 10 eller senare påverkas, varav de flesta troligen använder version 1909 eller senare.
De äldre scenarierna är redan mindre benägna att stödja de trasiga språken, så det är osannolikt att du skulle vilja använda ett annat språk som ändå kan avslöja denna brist.
Rekommenderad åtgärd
- Om du använder en äldre version av Windows 10 uppgraderar du till version 1909 eller senare.
- Om du vill använda en äldre konsol eller om du stöter på kompilationsproblem eller andra problem på grund av kodningsändringen, avmarkera VSLANGochDOTNET_CLI_UI_LANGUAGEför att inaktivera den här ändringen.