Udostępnij za pośrednictwem


Ścieżka hosta x86 w 64-bitowym systemie Windows

Wersje x86 instalatorów platformy .NET dla systemu Windows zostały zmodyfikowane, aby nie dodawać lokalizacji hosta x86 (Program Files (x86)\dotnet) do PATH zmiennej środowiskowej w 64-bitowych systemach Windows.

W przypadku tej zmiany, jeśli lokalizacja hosta x86 została dodana przez PATH poprzednią wersję platformy .NET, wersje x86 instalatorów platformy .NET i aktualizacje platformy .NET zostaną usunięte podczas uaktualniania.

Ta zmiana dotyczy platformy .NET Core 3.1, .NET 6, .NET 7 i przyszłych wersji.

Ta zmiana dotyczy dotnet tylko hosta. Nie ma to wpływu na 32-bitowe/x86 hosty aplikacji, takie jak myapp.exe. Te hosty będą nadal prawidłowo znajdować środowisko uruchomieniowe x86 (przy założeniu, że jest zainstalowane).

Poprzednie zachowanie

Lokalizacja hosta x86 została dodana do PATHprogramu , nawet w systemach x64/Arm64. W zależności od tego, który instalator architektury .NET został uruchomiony jako pierwszy, komputer użytkownika może mieć natywny (x64/Arm64) lub x86 hosta wymienionego jako pierwszy na liście .PATH

Nowe zachowanie

W przyszłości lokalizacja hosta x86 jest dodawana tylko do PATH zmiennej środowiskowej w systemach x86 i zostanie usunięta podczas uaktualniania platformy .NET lub programu Visual Studio w dowolnych systemach x64 i arm64.

Wprowadzona wersja

.NET 7

Przyczyna wprowadzenia zmiany

Obecnie lokalizacja hosta x86 jest dodawana do PATHsystemu , nawet w systemach x64/Arm64. W zależności od tego, który instalator architektury platformy .NET jest uruchamiany jako pierwszy, maszyna użytkownika może mieć natywną (x64/Arm64) lub hosta x86 jako pierwszą lokalizację na PATH liście. Ta niejednoznaczność powoduje problemy z początkową instalacją platformy .NET i zdarzeniami obsługi platformy .NET. Każdy z tych scenariuszy instalacji może modyfikować kolejność hostów platformy .NET w PATHprogramie , dzięki czemu nie jest deterministyczny. Istnieje duże prawdopodobieństwo regresji zachowania środowiska uruchomieniowego platformy .NET.

Ta zmiana usprawnia dotnet środowisko hosta w systemach Windows 64-bitowych. Tylko 64-bitowe hosty będą dostępne w zmiennej środowiskowej systemu PATH : hosta x64 w systemach x64 i hoście Arm64 w systemach Arm64. Usunęliśmy niejednoznaczność w kolejności hostów dotnet w PATHsystemie i będzie obecny tylko jeden host.

Jeśli potrzebujesz hosta x86 w zmiennej PATH środowiskowej w systemach x64/Arm64, dodaj lokalizację hosta do PATH ręcznego.

Dotyczy interfejsów API

Brak.