dotnet / core

.NET news, announcements, release notes, and more!
https://dot.net
MIT License
21.04k stars 4.9k forks source link

Proposed .NET 8 Breaking Changes #7566

Open richlander opened 2 years ago

richlander commented 2 years ago

The following list defines breaking changes that are proposed for .NET 8.

Proposed:

Carryovers from .NET 7:

dotnet build/publish produces RID-specific apps by default

Proposal: https://github.com/dotnet/sdk/issues/23540

The .NET SDK has produced portable apps since .NET Core 1.0. That may or may not have made sense, but it no longer does now. Portable apps are bigger, slower to startup, and less reliable in some scenarios. In addition, portable apps are not fully coherent since they have a RID-specific executable but portable assets. That means that you can use the executable for one RID environment and cannot for any other. It's an odd design choice. A perfect example is containers. RID-specific apps are always better for containers. Another example is client apps. Client apps require an executable, such that they should always be RID-specific.

Motivation for break:

dotnet build/publish does not produce an exe/apphost for portable apps by default

Proposal: https://github.com/dotnet/sdk/issues/23545

Portable apps are intended to run in multiple environments. By definition, an executable is RID-specific and therefore only compatible with one of the environments in which a portable app can run. It's possible that developers are happy with this asymmetry, but should opt into that experience.

Motivation for break:

cheveuxdelin commented 2 years ago

hi

deeprobin commented 9 months ago

@richlander

Is this issue still relevant or can it be closed? .NET 8 is already in GA

The linked issue milestone seems to be .NET 9