Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion docs/core/compatibility/3.1.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Breaking changes in .NET Core 3.1
description: Lists the breaking changes in version 3.1 of .NET Core and ASP.NET Core.
ms.date: 11/25/2019
ms.date: 06/22/2022
---
# Breaking changes in .NET Core 3.1

Expand All @@ -15,6 +15,10 @@ If you're migrating to version 3.1 of .NET Core or ASP.NET Core, the breaking ch

***

## Deployment

[x86 host path on 64-bit Windows](deployment/7.0/x86-host-path.md)

## MSBuild

- [Design-time builds only return top-level package references](#design-time-builds-only-return-top-level-package-references)
Expand Down
8 changes: 7 additions & 1 deletion docs/core/compatibility/6.0.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Breaking changes in .NET 6
description: Navigate to the breaking changes in .NET 6.
ms.date: 05/06/2021
ms.date: 06/22/2022
no-loc: [Blazor, Razor, Kestrel]
---
# Breaking changes in .NET 6
Expand Down Expand Up @@ -89,6 +89,12 @@ For information on other breaking changes for containers in .NET 6, see [.NET 6
| - | :-: | :-: | - |
| [CreateEncryptor methods throw exception for incorrect feedback size](cryptography/6.0/cfb-mode-feedback-size-exception.md) | ❌ | ✔️ | Preview 7 |

## Deployment

| Title | Binary compatible | Source compatible | Introduced |
| - | :-: | :-: | - |
| [x86 host path on 64-bit Windows](deployment/7.0/x86-host-path.md) | ✔️ | ✔️ | Servicing release |

## Entity Framework Core

[Breaking changes in EF Core 6](/ef/core/what-is-new/ef-core-6.0/breaking-changes)
Expand Down
1 change: 1 addition & 0 deletions docs/core/compatibility/7.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ If you're migrating an app to .NET 7, the breaking changes listed here might aff
| Title | Binary compatible | Source compatible | Introduced |
| - | :-: | :-: | - |
| [Multi-level lookup is disabled](deployment/7.0/multilevel-lookup.md) | ❌ | ✔️ | Preview 4 |
| [x86 host path on 64-bit Windows](deployment/7.0/x86-host-path.md) | ✔️ | ✔️ | Preview 6 |

## Extensions

Expand Down
38 changes: 38 additions & 0 deletions docs/core/compatibility/deployment/7.0/x86-host-path.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: "Breaking change: x86 host path on 64-bit Windows"
description: Learn about the breaking change in deployment where the 32-bit .NET host isn't added to PATH on 64-bit Windows platforms.
ms.date: 06/22/2022
---
# x86 host path on 64-bit Windows

The x86 versions of .NET installers for Windows have been modified to no longer add the x86 host location (*Program Files (x86)\dotnet*) to the `PATH` environment variable on 64-bit Windows systems.

This change affects .NET Core 3.1, .NET 6, .NET 7, and future versions.

This change only affects the `dotnet` host. It doesn't affect 32-bit/x86 application hosts, like *myapp.exe*. Those hosts will continue to find the x86 runtime correctly (assuming it's installed).

## Previous behavior

The x86 host location was added to `PATH`, even on x64/Arm64 systems. Depending on which .NET architecture installer was run first, a user's machine could have either the native (x64/Arm64) or x86 host listed first in `PATH`.

## New behavior

Going forward, the x86 host location is only added to the `PATH` environment variable on x86 systems.
Comment thread
gewarren marked this conversation as resolved.

## Version introduced

.NET 7 Preview 6

## Reason for change

Currently, the x86 host location is added to `PATH`, even on x64/Arm64 systems. Depending on which .NET architecture installer is run first, a user's machine could have either the native (x64/Arm64) or the x86 host as the first location in the `PATH` list. This ambiguity causes problems with the initial .NET installation and during .NET servicing events. Any of these installation scenarios can modify the order of .NET hosts in `PATH`, making it non-deterministic. There's a high chance of behavior regression of the .NET runtime.

This change streamlines the `dotnet` host experience on Windows 64-bit systems. Only 64-bit hosts will be available in the system's `PATH` environment variable: the x64 host on x64 systems and the Arm64 host on Arm64 systems. We removed the ambiguity in the of order of `dotnet` hosts in `PATH`, and only one host will be present.

## Recommended action

If you need the x86 host in the `PATH` environment variable on x64/Arm64 systems, add the host location to `PATH` manually.

## Affected APIs

None.
16 changes: 16 additions & 0 deletions docs/core/compatibility/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ items:
items:
- name: Multi-level lookup is disabled
href: deployment/7.0/multilevel-lookup.md
- name: x86 host path on 64-bit Windows
href: deployment/7.0/x86-host-path.md
- name: Extensions
items:
- name: ContentRootPath for apps launched by Windows Shell
Expand Down Expand Up @@ -211,6 +213,10 @@ items:
items:
- name: CreateEncryptor methods throw exception for incorrect feedback size
href: cryptography/6.0/cfb-mode-feedback-size-exception.md
- name: Deployment
items:
- name: x86 host path on 64-bit Windows
href: deployment/7.0/x86-host-path.md
- name: Entity Framework Core
href: /ef/core/what-is-new/ef-core-6.0/breaking-changes?toc=/dotnet/core/compatibility/toc.json&bc=/dotnet/breadcrumb/toc.json
- name: Extensions
Expand Down Expand Up @@ -913,6 +919,16 @@ items:
items:
- name: Multi-level lookup is disabled
href: deployment/7.0/multilevel-lookup.md
- name: x86 host path on 64-bit Windows
href: deployment/7.0/x86-host-path.md
- name: .NET 6
items:
- name: x86 host path on 64-bit Windows
href: deployment/7.0/x86-host-path.md
- name: .NET Core 3.1
items:
- name: x86 host path on 64-bit Windows
href: deployment/7.0/x86-host-path.md
- name: Entity Framework Core
items:
- name: EF Core 6
Expand Down