Freigeben über


x86-Hostpfad unter 64-Bit-Windows

Die x86-Versionen von .NET-Installern für Windows wurden geändert, um den x86-Hostspeicherort (Programmdateien (x86)\dotnet) der PATH Umgebungsvariable auf 64-Bit-Windows-Systemen nicht mehr hinzuzufügen.

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 wirkt sich auf .NET Core 3.1, .NET 6, .NET 7 und zukünftige Versionen aus.

Diese Änderung wirkt sich nur auf den dotnet Host aus. Es wirkt sich nicht auf 32-Bit/x86-Anwendungshosts wie myapp.exeaus. Diese Hosts werden die x86-Laufzeit weiterhin korrekt 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 .NET-Architekturinstallationsprogramm zuerst ausgeführt wurde, könnte der Computer eines Benutzers entweder den nativen (x64/Arm64) oder den x86-Host haben, der als erstes in der Datei PATH aufgeführt ist.

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ührte Version

.NET 7

Grund für Änderung

Derzeit wird der Speicherort des x86-Hosts zu PATH hinzugefügt, auch auf x64/Arm64-Systemen. Je nachdem, welches .NET-Architekturinstallationsprogramm zuerst ausgeführt wird, könnte der Computer eines Benutzers entweder den systemeigenen Host (x64/Arm64) oder den x86-Host an erster Stelle in der PATH-Auflistung aufweisen. Diese Mehrdeutigkeit verursacht Probleme mit der ersten .NET-Installation und während .NET-Wartungsereignissen. Jedes dieser Installationsszenarien kann die Reihenfolge von .NET-Hosts PATHändern, wodurch sie nicht deterministisch ist. Es besteht eine hohe Wahrscheinlichkeit für die Verhaltensregression der .NET-Laufzeit.

Diese Änderung optimiert die dotnet Hostumgebung auf Windows 64-Bit-Systemen. Nur 64-Bit-Hosts sind in der Umgebungsvariable des PATH Systems verfügbar: der x64-Host auf x64-Systemen und dem Arm64-Host auf Arm64-Systemen. Wir haben die Mehrdeutigkeit in der Reihenfolge der dotnet Hosts in PATH beseitigt, und es wird nur ein Host vorhanden sein.

Wenn Sie den x86-Host in der Umgebungsvariable PATH auf x64/Arm64-Systemen benötigen, fügen Sie den Speicherort des Hosts zur Umgebungsvariable PATH manuell hinzu.

Betroffene APIs

Keiner.