Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
1 change: 1 addition & 0 deletions docs/core/compatibility/10.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ If you're migrating an app to .NET 10, the breaking changes listed here might af
| [`dotnet package list` performs restore](sdk/10.0/dotnet-package-list-restore.md) | Behavioral change | Preview 4 |
| [`dotnet restore` audits transitive packages](sdk/10.0/nugetaudit-transitive-packages.md) | Behavioral change | Preview 3 |
| [`dotnet tool install --local` creates manifest by default](sdk/10.0/dotnet-tool-install-local-manifest.md) | Behavioral change | Preview 7 |
| [dnx.ps1 file is no longer included in .NET SDK](sdk/10.0/dnx-ps1-removed.md) | Source incompatible | GA |
| [project.json not supported in `dotnet restore`](sdk/10.0/dotnet-restore-project-json-unsupported.md) | Source incompatible | Preview 7 |
| [SHA-1 fingerprint support deprecated in `dotnet nuget sign`](sdk/10.0/dotnet-nuget-sign-sha1-deprecated.md) | Behavioral change | Preview 1 |
| [MSBUILDCUSTOMBUILDEVENTWARNING escape hatch removed](sdk/10.0/custom-build-event-warning.md) | Behavioral change | Preview 1 |
Expand Down
39 changes: 39 additions & 0 deletions docs/core/compatibility/sdk/10.0/dnx-ps1-removed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
title: "Breaking change - dnx.ps1 file is no longer included in .NET SDK"
description: "Learn about the breaking change in .NET 10 where the dnx.ps1 script is no longer included in Windows versions of the .NET SDK."
ms.date: 10/13/2025
ai-usage: ai-assisted
ms.custom: https://github.com/dotnet/docs/issues/497988
---

# dnx.ps1 file is no longer included in .NET SDK

The `dnx.ps1` shim script is no longer included in Windows versions of the .NET SDK.

## Version introduced

.NET 10 GA

## Previous behavior

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. The `dnx.cmd` script remains available for executing tools.

## Type of breaking change

This change can affect [source compatibility](../../categories.md#source-incompatible).

## Reason for change

The `dnx.ps1` script was added to avoid an extra `Terminate Batch 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 is used instead so no action is necessary. If you were calling `dnx.ps1` directly, switch to `dnx.cmd`.

## Affected APIs

None.
2 changes: 2 additions & 0 deletions docs/core/compatibility/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ items:
href: sdk/10.0/dotnet-cli-interactive.md
- name: .NET tool packaging creates RuntimeIdentifier-specific tool packages
href: sdk/10.0/dotnet-tool-pack-publish.md
- name: dnx.ps1 file is no longer included in .NET SDK
href: sdk/10.0/dnx-ps1-removed.md
- name: "`dotnet restore` audits transitive packages"
href: sdk/10.0/nugetaudit-transitive-packages.md
- name: project.json not supported in `dotnet restore`
Expand Down
Loading