已修改适用于 Windows 的 x86 版本的 .NET 安装程序,不再将 x86 主机位置(Program Files (x86)\dotnet) 添加到 PATH 64 位 Windows 系统上的环境变量。
通过此更改,如果 x86 主机位置已由早期版本的 .NET 添加到 PATH ,则 .NET 安装程序和 .NET 更新的 x86 版本将在升级时将其删除。
此更改会影响 .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
更改原因
目前,即使在 x64/Arm64 系统上,x86 主机位置也已添加到 PATH 中。 根据首先运行的 .NET 体系结构安装程序,用户的计算机可能会在将本机 (x64/Arm64) 或 x86 主机置于 PATH 列表的首位。 这种歧义会导致初始 .NET 安装和 .NET 服务事件期间出现问题。 这些安装方案中的任何一种都可以修改 .NET 主机 PATH的顺序,使其成为不确定的。 .NET 运行时行为回归的可能性很高。
此更改简化了 dotnet Windows 64 位系统上的主机体验。 系统 PATH 环境变量中仅提供 64 位主机:x64 系统上的 x64 主机和 Arm64 系统上的 Arm64 主机。 我们消除了 dotnet 中 PATH 主机顺序的不定性,将仅存在一个主机。
建议的措施
如果您需要在 x64/Arm64 系统上的环境变量 PATH 中使用 x86 主机,请手动将主机位置添加到 PATH 。
受影响的 API
没有。