Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als de DOTNET_CLI_UI_LANGUAGE of VSLANG omgevingsvariabele is ingesteld, verandert de uitvoer en invoercodering van de .NET CLI-console in UTF-8, zodat de codepagina ook kan worden gewijzigd in UTF-8. Met dit nieuwe gedrag kunnen tekens uit talen die door deze omgevingsvariabelen zijn ingesteld, correct worden weergegeven.
Deze wijziging is alleen van invloed op Windows-besturingssystemen (de codering was in orde op andere platforms). Bovendien geldt dit alleen voor Windows 10- en latere versies waarbij de gebruikersinterfacecultuur die door de gebruiker is ingesteld, niet-Engels is.
Vorig gedrag
Tekens in bepaalde talen, waaronder Chinees, Duits, Japans en Russisch, zouden soms als vervormde tekens of zoals ? in de console worden weergegeven. Voorbeeld:
C:\>dotnet build
MSBuild version 17.3.0-preview[...] for .NET
???????????????...
Nieuw gedrag
Vanaf .NET 7 (versie 7.0.3xx) en .NET 8 worden tekens correct weergegeven. Zowel de codering als de codepagina worden gewijzigd. Voorbeeld:
C:\>dotnet build
MSBuild version 17.3.0-preview[...] for .NET
正在确定要还原的项目…
Versies van Windows ouder dan Windows 10 1909 bieden geen volledige ondersteuning voor UTF-8 en kunnen na deze wijziging problemen ondervinden. (Vanaf .NET 8 en .NET 7.0.300 SDK verandert de .NET SDK standaard niet langer naar UTF-8 in deze versies. Als u wilt terugschakelen naar het gebruik van UTF-8, zelfs op Windows 10-versies die het niet standaard ondersteunen, gebruik dan de DOTNET_CLI_FORCE_UTF8_ENCODING omgevingsvariabele.)
Daarnaast is er een bestaande fout opgetreden waarbij de SDK van invloed kan zijn op de codering van andere opdrachten en programma's die in dezelfde opdrachtprompt worden aangeroepen nadat de SDK is uitgevoerd. Nu de SDK vaker de codering wijzigt, kan de impact van deze fout toenemen. De fout is echter opgelost in .NET 8 en .NET 7.0.300 SDK. Voor meer informatie, zie de SDK wijzigt de consolecodering niet meer na voltooiing.
Geïntroduceerde versie
7.0.3xx .NET 8 Preview 1
Type van brekende verandering
Deze wijziging kan van invloed zijn op de broncompatibiliteit en binaire compatibiliteit. Het is ook een gedragsverandering.
Reden voor wijziging
Het gebruik van de .NET CLI in niet-Engelse talen biedt een slechte ervaring.
Ontwikkelaars die de VSLANG variabelen nog niet hebben gebruikt, DOTNET_CLI_UI_LANGUAGE worden niet beïnvloed. De impact moet minimaal zijn, omdat deze taalinstelling niet goed werkte als gevolg van vervormde tekens. Bovendien kunnen alleen ontwikkelaars die Windows 10 of hoger gebruiken, worden beïnvloed, waarvan de meeste waarschijnlijk versie 1909 of hoger gebruiken.
De verouderde scenario's zullen waarschijnlijk de gebroken talen niet ondersteunen, dus het is onwaarschijnlijk dat u een andere taal wilt gebruiken die deze kwestie aan het licht brengt.
Aanbevolen actie
- Als u een oudere versie van Windows 10 gebruikt, voert u een upgrade uit naar versie 1909 of hoger.
- Als u een verouderde console wilt gebruiken of problemen ondervindt met de build of anderen vanwege de wijziging van de codering, schakelt u deze wijziging uit door
VSLANGenDOTNET_CLI_UI_LANGUAGEuit te schakelen.