monostartmålet har inte angetts för .NET Framework-appar

.NET SDK ställer inte längre automatiskt in mono som startpunkt för .NET Framework-applikationer på Linux när dotnet run används.

Version lanserad

.NET 11 Förhandsversion 1

Tidigare beteende

Tidigare, när du anropade dotnet run på ett .NET Framework-program på Linux, ställde SDK automatiskt in RunCommand och RunArguments-egenskaperna i projektfilen för att använda Mono som körtid.

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

Detta gjorde att .NET Framework-program kunde startas direkt med hjälp av dotnet run utan ytterligare konfiguration.

Nytt beteende

Från och med .NET 11 konfigurerar SDK:n inte längre dessa egenskaper automatiskt. Det går inte att köra dotnet run på ett .NET Framework-program i Linux om inte RunCommand egenskaperna och RunArguments uttryckligen anges i projektfilen.

Typ av brytande ändring

Den här ändringen är en beteendeförändring.

Orsak till ändring

Den här ändringen gjordes eftersom det inte längre stöds officiellt att köra .NET Framework-program på Linux med Mono. Monoägarskapet har övergått och .NET SDK bör inte automatiskt konfigurera startmål för scenarier som inte stöds.

Mer information finns i dotnet/sdk PR #52091.

Om du behöver fortsätta att köra .NET Framework-program på Linux med Mono kan du manuellt konfigurera RunCommand egenskaperna och RunArguments i projektfilen.

Berörda API:er

Ingen.