Путь к 64-разрядному узлу x86 в Windows

Версии установщиков .NET для Windows были изменены, чтобы больше не добавлять расположение узла x86 (Program Files (x86)\dotnet) в PATH переменную среды в 64-разрядных системах Windows.

При этом изменении, если расположение узла x86 было добавлено PATH в более ранднюю версию .NET, обновления x86 установщиков .NET и обновления .NET будут удалены при обновлении.

Это изменение влияет на .NET Core 3.1, .NET 6, .NET 7 и будущие версии.

Это изменение влияет только на dotnet узел. Это не влияет на 32-разрядные узлы приложений или x86, например myapp.exe. Эти узлы будут продолжать находить среду выполнения x86 правильно (если она установлена).

Прежнее поведение

Расположение узла x86 было добавлено PATHдаже в системах x64/Arm64. В зависимости от того, какой установщик архитектуры .NET был запущен первым, компьютер пользователя может иметь собственный (x64/Arm64) или узел x86, перечисленный сначала в PATH.

Новое поведение

В дальнейшем расположение узла x86 добавляется только в PATH переменную среды в системах x86 и будет удалена при обновлении .NET или Visual Studio в любых системах x64 и arm64.

Представленные версии

.NET 7

Причина изменения

В настоящее время расположение узла x86 добавляется PATHдаже в системах x64/Arm64. В зависимости от того, какой установщик архитектуры .NET запускается первым, компьютер пользователя может иметь собственный (x64/Arm64) или узел x86 в качестве первого расположения в списке PATH . Эта неоднозначность вызывает проблемы с начальной установкой .NET и во время событий обслуживания .NET. Любой из этих сценариев установки может изменить порядок узлов .NET, PATHчто делает его недетерминированным. Существует высокая вероятность регрессии поведения среды выполнения .NET.

Это изменение упрощает dotnet работу узла в системах Windows 64-разрядных систем. В переменной среды системы PATH будут доступны только 64-разрядные узлы: узел x64 в системах x64 и узел Arm64 в системах Arm64. Мы удалили неоднозначность в порядке dotnet узлов PATH, и будет присутствовать только один узел.

Если вам нужен узел x86 в переменной PATH среды в системах x64/Arm64, добавьте расположение PATH узла вручную.

Затронутые API

Нет.