From b57eeceb0fd2f142c0f91cb77081b09f85003743 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 21:27:19 +0000 Subject: [PATCH 1/5] Initial plan From b9d5c94b2dcbe10fd0a7036dbe7736bf68fe3ae7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 3 Feb 2026 21:31:00 +0000 Subject: [PATCH 2/5] Add breaking change article for mono launch target removal - Document .NET SDK no longer automatically setting mono as launch target - Add article to SDK section in .NET 11 breaking changes - Update TOC and index files --- docs/core/compatibility/11.md | 6 ++ .../sdk/11.0/mono-launch-target-removed.md | 56 +++++++++++++++++++ docs/core/compatibility/toc.yml | 4 ++ 3 files changed, 66 insertions(+) create mode 100644 docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md index a7c6b99f845df..515a42e251697 100644 --- a/docs/core/compatibility/11.md +++ b/docs/core/compatibility/11.md @@ -52,3 +52,9 @@ See [Breaking changes in EF Core 11](/ef/core/what-is-new/ef-core-11.0/breaking- | Title | Type of change | |-------------------------------------------------------------------|-------------------| | [Minimum hardware requirements updated](jit/11/minimum-hardware-requirements.md) | Behavioral change | + +## SDK and MSBuild + +| Title | Type of change | +|-------------------------------------------------------------------|-------------------| +| [.NET SDK no longer sets mono launch target for .NET Framework apps](sdk/11.0/mono-launch-target-removed.md) | Behavioral change | diff --git a/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md b/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md new file mode 100644 index 0000000000000..48b622a1574eb --- /dev/null +++ b/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md @@ -0,0 +1,56 @@ +--- +title: "Breaking change: .NET SDK no longer sets mono launch target for .NET Framework apps" +description: "Learn about the breaking change in .NET 11 Preview 1 where the .NET SDK no longer automatically sets mono as the launch target for .NET Framework applications on Linux." +ms.date: 01/12/2026 +ai-usage: ai-assisted +--- + +# .NET SDK no longer sets mono launch target for .NET Framework apps + +The .NET SDK no longer automatically sets `mono` as the launch target for .NET Framework applications on Linux when using `dotnet run`. + +## Version introduced + +.NET 11 Preview 1 + +## Previous behavior + +Previously, when running `dotnet run` on a .NET Framework application on Linux, the SDK automatically set the `RunCommand` and `RunArguments` properties to use Mono as the runtime: + +```xml +mono +"$(TargetPath)" $(StartArguments) +``` + +This allowed .NET Framework applications to be launched directly using `dotnet run` without additional configuration. + +## New behavior + +Starting in .NET 11, the SDK no longer automatically configures these properties. Running `dotnet run` on a .NET Framework application on Linux will fail unless the `RunCommand` and `RunArguments` properties are explicitly set in the project file. + +## Type of breaking change + +This change is a [behavioral change](../../categories.md#behavioral-change). + +## Reason for change + +This change was made because running .NET Framework applications on Linux using Mono is no longer officially supported. Mono ownership was transitioned last year, and the .NET SDK should not automatically configure launch targets for unsupported scenarios. + +For more information, see [dotnet/sdk PR #52091](https://github.com/dotnet/sdk/pull/52091). + +## Recommended action + +If you need to continue running .NET Framework applications on Linux using Mono, you can manually configure the `RunCommand` and `RunArguments` properties in your project file: + +```xml + + mono + "$(TargetPath)" $(StartArguments) + +``` + +However, note that this is an unsupported scenario. Consider migrating your application to modern .NET (such as .NET 8 or later) for full Linux support. + +## Affected APIs + +None. diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index 81c34f1b2b5c8..c3c4dddab6b0d 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -30,6 +30,10 @@ items: items: - name: Minimum hardware requirements updated href: jit/11/minimum-hardware-requirements.md + - name: SDK and MSBuild + items: + - name: .NET SDK no longer sets mono launch target for .NET Framework apps + href: sdk/11.0/mono-launch-target-removed.md - name: .NET 10 items: - name: Overview From ccc82c78a0592f537fcae36a0876a4199f892f69 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Tue, 3 Feb 2026 16:08:59 -0800 Subject: [PATCH 3/5] human edits --- docs/core/compatibility/11.md | 2 +- .../sdk/11.0/mono-launch-target-removed.md | 23 ++++++------------- docs/core/compatibility/toc.yml | 2 +- 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md index 515a42e251697..f5945b6bf87e2 100644 --- a/docs/core/compatibility/11.md +++ b/docs/core/compatibility/11.md @@ -57,4 +57,4 @@ See [Breaking changes in EF Core 11](/ef/core/what-is-new/ef-core-11.0/breaking- | Title | Type of change | |-------------------------------------------------------------------|-------------------| -| [.NET SDK no longer sets mono launch target for .NET Framework apps](sdk/11.0/mono-launch-target-removed.md) | Behavioral change | +| [mono launch target not set for .NET Framework apps](sdk/11.0/mono-launch-target-removed.md) | Behavioral change | diff --git a/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md b/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md index 48b622a1574eb..fb62131c8da86 100644 --- a/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md +++ b/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md @@ -1,11 +1,11 @@ --- -title: "Breaking change: .NET SDK no longer sets mono launch target for .NET Framework apps" -description: "Learn about the breaking change in .NET 11 Preview 1 where the .NET SDK no longer automatically sets mono as the launch target for .NET Framework applications on Linux." -ms.date: 01/12/2026 +title: "Breaking change: mono launch target not set for .NET Framework apps" +description: "Learn about the breaking change in .NET 11 where the .NET SDK no longer automatically sets mono as the launch target for .NET Framework applications on Linux." +ms.date: 02/03/2026 ai-usage: ai-assisted --- -# .NET SDK no longer sets mono launch target for .NET Framework apps +# mono launch target not set for .NET Framework apps The .NET SDK no longer automatically sets `mono` as the launch target for .NET Framework applications on Linux when using `dotnet run`. @@ -15,7 +15,7 @@ The .NET SDK no longer automatically sets `mono` as the launch target for .NET F ## Previous behavior -Previously, when running `dotnet run` on a .NET Framework application on Linux, the SDK automatically set the `RunCommand` and `RunArguments` properties to use Mono as the runtime: +Previously, when you called `dotnet run` on a .NET Framework application on Linux, the SDK automatically set the `RunCommand` and `RunArguments` properties in the project file to use Mono as the runtime: ```xml mono @@ -26,7 +26,7 @@ This allowed .NET Framework applications to be launched directly using `dotnet r ## New behavior -Starting in .NET 11, the SDK no longer automatically configures these properties. Running `dotnet run` on a .NET Framework application on Linux will fail unless the `RunCommand` and `RunArguments` properties are explicitly set in the project file. +Starting in .NET 11, the SDK no longer automatically configures these properties. Running `dotnet run` on a .NET Framework application on Linux fails unless the `RunCommand` and `RunArguments` properties are explicitly set in the project file. ## Type of breaking change @@ -40,16 +40,7 @@ For more information, see [dotnet/sdk PR #52091](https://github.com/dotnet/sdk/p ## Recommended action -If you need to continue running .NET Framework applications on Linux using Mono, you can manually configure the `RunCommand` and `RunArguments` properties in your project file: - -```xml - - mono - "$(TargetPath)" $(StartArguments) - -``` - -However, note that this is an unsupported scenario. Consider migrating your application to modern .NET (such as .NET 8 or later) for full Linux support. +If you need to continue running .NET Framework applications on Linux using Mono, you can manually configure the `RunCommand` and `RunArguments` properties in your project file. ## Affected APIs diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index c3c4dddab6b0d..23520abcb7116 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -32,7 +32,7 @@ items: href: jit/11/minimum-hardware-requirements.md - name: SDK and MSBuild items: - - name: .NET SDK no longer sets mono launch target for .NET Framework apps + - name: mono launch target not set for .NET Framework apps href: sdk/11.0/mono-launch-target-removed.md - name: .NET 10 items: From e2fd57c618e290d44c803f7bd6c9b976585d68b2 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Tue, 3 Feb 2026 16:19:52 -0800 Subject: [PATCH 4/5] fix folder name --- docs/core/compatibility/11.md | 2 +- .../sdk/{11.0 => 11}/mono-launch-target-removed.md | 0 docs/core/compatibility/toc.yml | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename docs/core/compatibility/sdk/{11.0 => 11}/mono-launch-target-removed.md (100%) diff --git a/docs/core/compatibility/11.md b/docs/core/compatibility/11.md index f5945b6bf87e2..d4614d035b675 100644 --- a/docs/core/compatibility/11.md +++ b/docs/core/compatibility/11.md @@ -57,4 +57,4 @@ See [Breaking changes in EF Core 11](/ef/core/what-is-new/ef-core-11.0/breaking- | Title | Type of change | |-------------------------------------------------------------------|-------------------| -| [mono launch target not set for .NET Framework apps](sdk/11.0/mono-launch-target-removed.md) | Behavioral change | +| [mono launch target not set for .NET Framework apps](sdk/11/mono-launch-target-removed.md) | Behavioral change | diff --git a/docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md b/docs/core/compatibility/sdk/11/mono-launch-target-removed.md similarity index 100% rename from docs/core/compatibility/sdk/11.0/mono-launch-target-removed.md rename to docs/core/compatibility/sdk/11/mono-launch-target-removed.md diff --git a/docs/core/compatibility/toc.yml b/docs/core/compatibility/toc.yml index 23520abcb7116..9c62f4b57e71f 100644 --- a/docs/core/compatibility/toc.yml +++ b/docs/core/compatibility/toc.yml @@ -33,7 +33,7 @@ items: - name: SDK and MSBuild items: - name: mono launch target not set for .NET Framework apps - href: sdk/11.0/mono-launch-target-removed.md + href: sdk/11/mono-launch-target-removed.md - name: .NET 10 items: - name: Overview From 16f85d6e9f12a82638a1bd953f13dba8d328b532 Mon Sep 17 00:00:00 2001 From: Genevieve Warren <24882762+gewarren@users.noreply.github.com> Date: Wed, 4 Feb 2026 14:55:19 -0800 Subject: [PATCH 5/5] Update docs/core/compatibility/sdk/11/mono-launch-target-removed.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/core/compatibility/sdk/11/mono-launch-target-removed.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/core/compatibility/sdk/11/mono-launch-target-removed.md b/docs/core/compatibility/sdk/11/mono-launch-target-removed.md index fb62131c8da86..043e91a60a05d 100644 --- a/docs/core/compatibility/sdk/11/mono-launch-target-removed.md +++ b/docs/core/compatibility/sdk/11/mono-launch-target-removed.md @@ -34,7 +34,7 @@ This change is a [behavioral change](../../categories.md#behavioral-change). ## Reason for change -This change was made because running .NET Framework applications on Linux using Mono is no longer officially supported. Mono ownership was transitioned last year, and the .NET SDK should not automatically configure launch targets for unsupported scenarios. +This change was made because running .NET Framework applications on Linux using Mono is no longer officially supported. Mono ownership has transitioned, and the .NET SDK should not automatically configure launch targets for unsupported scenarios. For more information, see [dotnet/sdk PR #52091](https://github.com/dotnet/sdk/pull/52091).