64 位元 Windows 上的 x86 主機路徑

適用於 Windows 的 x86 版 .NET 安裝程式經過修改,不會再將 x86 主機位置 (Program Files (x86)\dotnet) 新增至 64 位元 Windows 系統的 PATH 環境變數中。

有了這項變更,如果 x86 主機位置已由舊版 .NET 新增至 PATH,則 x86 版 的 .NET 安裝程式和 .NET 更新會在升級時將其移除。

這項變更會影響 .NET Core 3.1、.NET 6、.NET 7 和未來的版本。

這項變更只會影響 dotnet 主機, 32 位元/x86 應用程式主機 (例如 myapp.exe) 不會受到影響。 這些主機會繼續正確地找到 x86 執行階段 (在安裝的情況下)。

先前的行為

系統會將 x86 主機位置新增至 PATH,在 x64/Arm64 系統上也是如此。 根據率先執行的 .NET 結構安裝程式,使用者機器會在 PATH 內先列出原生 (x64/Arm64) 或 x86 主機。

新的行為

接下來,x86 主機位置只會新增至 x86 系統上的 PATH 環境變數,並在任何 x64 和 arm64 系統上升級 .NET 或 Visual Studio 時移除。

導入的版本

.NET 7

變更原因

目前 x86 主機位置會新增至 PATH,在 x64/Arm64 系統上也是如此。 根據率先執行的 .NET 結構安裝程式,使用者機器會在 PATH 清單上以原生 (x64/Arm64) 或 x86 主機作為第一個位置。 這個模糊地帶會在初始安裝 .NET 和使用 .NET 服務的事件時造成問題。 任何這類安裝情節都會修改 .NET 主機在 PATH 中的順序,使其不具決定性。 這會導致 .NET 執行階段有很高的機率發生行為迴歸現象。

這項變更可簡化 dotnet 主機在 Windows 64 位元系統上的體驗。 系統的 PATH 環境變數只可使用 64 位元主機,也就是 x64 系統上的 x64 主機,以及 Arm64 系統上的 Arm64 主機。 我們移除了 dotnet 主機在 PATH 中的模糊順序,現在只會有一個主機。

如果您在 x64/Arm64 系統的 PATH 環境變數中需要 x86 主機,請手動將主機位置新增至 PATH

受影響的 API

無。