x86-Hostpfad unter 64-Bit-Windows
Die x86-Versionen der .NET-Installationsprogramme für Windows wurden so geändert, dass der x86-Hostspeicherort (Programme (x86)\dotnet) auf 64-Bit-Windows-Systemen nicht mehr zur Umgebungsvariablen PATH
hinzugefügt wird.
Wenn aufgrund dieser Änderung der Speicherort des x86-Hosts von einer früheren Version von .NET zu PATH
hinzugefügt wurde, wird er bei den x86-Versionen von .NET-Installationsprogrammen und .NET-Updates beim Upgrade entfernt.
Diese Änderung betrifft .NET Core 3.1, .NET 6, .NET 7 und zukünftige Versionen.
Diese Änderung betrifft nur den dotnet
-Host. 32-Bit/x86-Anwendungshosts wie myapp.exe sind davon nicht betroffen. Diese Hosts werden die x86-Runtime weiterhin ordnungsgemäß finden (vorausgesetzt, sie ist installiert).
Vorheriges Verhalten
Der Speicherort des x86-Hosts wurde zu PATH
hinzugefügt, auch auf x64/Arm64-Systemen. Je nachdem, welches Installationsprogramm für die .NET-Architektur zuerst ausgeführt wurde, könnte auf dem Computer eines Benutzers entweder der native (x64/Arm64) oder der x86-Host zuerst in PATH
aufgeführt sein.
Neues Verhalten
In Zukunft wird der Speicherort des x86-Hosts nur noch auf x86-Systemen zur Umgebungsvariablen PATH
hinzugefügt und beim Upgrade von .NET oder Visual Studio auf x64- und arm64-Systemen entfernt.
Eingeführt in Version
.NET 7
Grund für die Änderung
Derzeit wird der Speicherort des x86-Hosts zu PATH
hinzugefügt, auch auf x64/Arm64-Systemen. Je nachdem, welches Installationsprogramm für die .NET-Architektur zuerst ausgeführt wird, könnte der Computer eines Benutzers entweder den nativen (x64/Arm64) oder den x86-Host als ersten Speicherort in der PATH
-Liste aufweisen. Diese Mehrdeutigkeit führt zu Problemen bei der Erstinstallation von .NET und bei Ereignissen im Rahmen der .NET-Wartung. Jedes dieser Installationsszenarien kann die Reihenfolge der .NET-Hosts in PATH
ändern, sodass sie nicht deterministisch ist. Es besteht eine hohe Wahrscheinlichkeit für die Verhaltensregression der .NET-Runtime.
Diese Änderung optimiert die dotnet
-Hosterfahrung auf 64-Bit-Windows-Systemen. Nur 64-Bit-Hosts sind in der Umgebungsvariablen PATH
des Systems verfügbar: der x64-Host auf x64-Systemen und der Arm64-Host auf Arm64-Systemen. Wir haben die Mehrdeutigkeit in der Reihenfolge der dotnet
-Hosts in PATH
entfernt, und es wird nur ein Host vorhanden sein.
Empfohlene Maßnahme
Wenn Sie den x86-Host in der Umgebungsvariablen PATH
auf x64/Arm64-Systemen benötigen, fügen Sie den Hostspeicherort manuell zu PATH
hinzu.
Betroffene APIs
Keine.