Skip to content

[Breaking change]: .NET SDK no longer setting mono launch target for .NET framework applications #50607

@marcpopMSFT

Description

@marcpopMSFT

Description

When running dotnet run on a .NET Framework application on Linux, the .NET SDK would previously set the RunCommand as mono. We transitioned ownership of mono last year and should not automatically set the launch target for .NET Framework applications on Linux.

Version

.NET 11 Preview 1

Previous behavior

dotnet/sdk#52091

Previously we would set the RunCommand and RunArguments

  <RunCommand Condition="'$(RunCommand)' == ''">mono</RunCommand> 
   <RunArguments Condition="'$(RunArguments)' == ''">&quot;$(TargetPath)&quot; $(StartArguments)</RunArguments> 

New behavior

This code has been deleted.

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

This is not supported.

Recommended action

Customers who want this behavior can set the RunCommand and RunArguments properties themselves in their .csproj file

Feature area

SDK

Affected APIs

No response

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions