Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 9, 2025

Plan to Remove Mono Support for .NET Framework Apps

  • Explore and understand the codebase
  • Identify all mono-related code for .NET Framework apps
  • Remove mono support from Microsoft.NET.Sdk.targets (lines 1440-1443)
  • Search for and remove any related tests
  • Build the SDK to verify changes
  • Run relevant tests to validate changes
  • Request code review
  • Run CodeQL security check
Original prompt

This section details on the original issue you should resolve

<issue_title>Consider: drop mono support for .NET Framework apps</issue_title>
<issue_description>

<PropertyGroup Condition="$([MSBuild]::IsOSUnixLike())">
<RunCommand Condition="'$(RunCommand)' == ''">mono</RunCommand>
<RunArguments Condition="'$(RunArguments)' == ''">&quot;$(TargetPath)&quot; $(StartArguments)</RunArguments>
</PropertyGroup>

Should we consider dropping this? cc @baronfel @jkotas

Today, running dotnet run on a console app that's .NET Framework on non-Windows will run it via mono. Is that scenario still supported or used by enough people?</issue_description>

<agent_instructions>Remove the lines of code for mono and look for any other code that references mono including any tests and remove them.</agent_instructions>

Comments on the Issue (you are @copilot in this section)

@jkotas It would make sense to me to start dropping support for unsupported scenarios like this one. It is not a good use of resources to carry this baggage around, and the support is likely broken in number of ways anyway.

The problem is that SDK does not have any depreciation policy currently - see discussion #51765 (comment) and so it is impossible to drop anything. I do not think that it is sustainable long-term. cc @marcpopMSFT </comment_new>
<comment_new>@ViktorHofer
Also see the discussion in microsoft/vstest#15340 (comment) for the (probably non-existent) impact on VSTest.</comment_new>
<comment_new>@marcpopMSFT
From telemetry, it's fewer than 300 run calls in the past 30 days that specify a netfx TFM and run on non-windows (out of ~1M calls that specify TFM so ~.05%). This wouldn't include distro customers or customers that have the TFM not specified on the CLI.

Seems like this is low enough that we can announce early in 11 and remove. We should detect and direct customers on instructions on how to get unblocked.</comment_new>


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@marcpopMSFT marcpopMSFT force-pushed the copilot/remove-mono-support branch from 26c7585 to fda76ab Compare December 12, 2025 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consider: drop mono support for .NET Framework apps

2 participants