64 ビット Windows での x86 ホスト パス

Windows 用 .NET インストーラーの x86 バージョンは変更され、x86 ホストの場所 (Program Files (x86)\dotnet) は 64 ビット Windows システムの PATH 環境変数に追加されなくなりました。

この変更により、以前のバージョンの .NET によって x86 ホストの場所が PATH に追加された場合、アップグレード時に x86 バージョンの .NET インストーラーと .NET 更新プログラムによって削除されます。

この変更は、.NET Core 3.1、.NET 6、.NET 7、および今後のバージョンに影響を与えます。

この変更は、dotnet ホストにのみ影響します。 myapp.exe など、32 ビット/x86 アプリケーション ホストには影響しません。 これらのホストでは、引き続き x86 ランタイムが正しく検出されます (インストールされている場合)。

以前の動作

x86 ホストの場所は、x64/Arm64 システムでも、PATH に追加されました。 最初に実行された .NET アーキテクチャ インストーラーに応じて、ユーザーのマシンでネイティブ (x64/Arm64) または x86 ホストのいずれかが最初に PATH に記載されることがありました。

新しい動作

今後、x86 ホストの場所は x86 システムの PATH 環境変数にのみ追加され、x64 および arm64 システムの .NET または Visual Studio のアップグレード時に削除されます。

導入されたバージョン

.NET 7

変更理由

現在、x86 ホストの場所は、x64/Arm64 システムでも、PATH に追加されます。 最初に実行される .NET アーキテクチャ インストーラーに応じて、ユーザーのマシンでネイティブ (x64/Arm64) または x86 ホストのいずれかが PATH リストの先頭に記載されることがあります。 このあいまいさが原因で、.NET の初回インストール時および .NET サービス イベント中に問題が発生します。 これらのインストール シナリオでは、PATH の .NET ホストの順序を変更できるため、これは非決定的になります。 .NET ランタイムの動作回帰の可能性が高くなります。

この変更により、Windows 64 ビット システムでの dotnet ホストのエクスペリエンスが合理化されます。 システムの PATH 環境変数では 64 ビット ホストのみが使用できるようになります。つまり、x64 システムの x64 ホストと Arm64 システムの Arm64 ホストです。 PATHdotnet ホストの順序に関するあいまいさがなくなり、1 つのホストのみが存在するようになります。

x64 または Arm64 システムで PATH 環境変数に x86 ホストが必要な場合は、PATH にホストの場所を手動で追加します。

影響を受ける API

なし。