Compartilhar via


Caminho do host x86 no Windows de 64-bit

As versões x86 dos instaladores do .NET para Windows foram modificadas para não adicionar mais o local do host x86 (Arquivos de Programas (x86)\dotnet) à PATH variável de ambiente em sistemas Windows de 64-bit.

Com essa alteração, se o local do host x86 tiver sido adicionado a PATH por uma versão anterior do .NET, as versões x86 dos instaladores do .NET e das atualizações do .NET o removerão na atualização.

Essa alteração afeta o .NET Core 3.1, .NET 6, .NET 7 e versões futuras.

Essa alteração afeta somente o host dotnet. Ele não afeta hosts de aplicativo x86 de 32 bits, como myapp.exe. Esses hosts continuarão a encontrar o runtime x86 corretamente (supondo que ele esteja instalado).

Comportamento anterior

O local do host x86 foi adicionado a PATH, mesmo nos sistemas x64/Arm64. Dependendo de qual instalador de arquitetura do .NET foi executado primeiro, o computador de um usuário pode ter o host nativo (x64/Arm64) ou x86 listado primeiro em PATH.

Novo comportamento

Daqui para frente, o local do host x86 só é adicionado à variável de ambiente PATH em sistemas x86 e será removido na atualização do .NET ou do Visual Studio em qualquer sistema x64 e arm64.

Versão introduzida

.NET 7

Motivo da alteração

Atualmente, o local do host x86 está adicionado a PATH, mesmo nos sistemas x64/Arm64. Dependendo de qual instalador de arquitetura do .NET é executado primeiro, o computador de um usuário pode ter o host nativo (x64/Arm64) ou o host x86 como o primeiro local da lista PATH. Essa ambiguidade causa problemas com a instalação inicial do .NET e durante eventos de manutenção do .NET. Qualquer um desses cenários de instalação pode modificar a ordem dos hosts NET em PATH, tornando-a não determinística. Há uma grande chance de regressão de comportamento do runtime do .NET.

Essa alteração simplifica a experiência do host dotnet em sistemas Windows de 64-bit. Somente hosts de 64-bit estarão disponíveis na variável de ambiente do sistema PATH: o host x64 em sistemas x64 e o host Arm64 em sistemas Arm64. Removemos a ambiguidade na ordem dos hosts dotnet e PATH, e apenas um host estará presente.

Se você precisar do host x86 na variável de ambiente PATH em sistemas x64/Arm64, adicione o local do host a PATH manualmente.

APIs afetadas

Nenhum.