Skip to content

[Breaking change]: dnx.ps1 file is no longer included in .NET SDK #49044

@dsplaisted

Description

@dsplaisted

Description

The dnx.ps1 shim script is no longer included in the .NET SDK.

Version

.NET 10

Previous behavior

Since .NET 10 Preview 7, in Windows versions of the .NET SDK, a dnx.ps1 script was included in the dotnet root folder, alongside dotnet.exe and dnx.cmd.

New behavior

The dnx.ps1 script is no longer included.

Type of breaking change

  • Binary incompatible: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
  • Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
  • Behavioral change: Existing binaries might behave differently at run time.

Reason for change

We added the dnx.ps1 script to avoid an extra Terminate Bach Job prompt when cancelling tools run via dnx with CTRL+C. However, PowerShell has special handling for --, so if -- was passed on the command line it would never make it through to dnx. This meant from PowerShell it was impossible to pass options to a tool using dnx if dnx itself has the same option. For example, dnx dotnet-serve -- --help would show the help for dnx instead of the help for dotnet-serve.

Recommended action

In most cases, the dnx.cmd script will be used instead so no action is necessary. If you were calling dnx.ps1 directly, you will need to switch to dnx.cmd.

Feature area

SDK

Affected APIs

No response


Associated WorkItem - 497988

Metadata

Metadata

Labels

📌 seQUESTeredIdentifies that an issue has been imported into Quest.🗺️ mapQUESTOnly used as a way to mark an issue as updated for quest. RepoMan should instantly remove it.breaking-changeIndicates a .NET Core breaking change

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions