Teilen über


Mono-Startziel nicht festgelegt für .NET Framework-Apps

Das .NET SDK setzt mono nicht mehr automatisch als Startziel für .NET Framework-Anwendungen unter Linux bei der Verwendung von dotnet run fest.

Eingeführt in Version

.NET 11 Preview 1

Vorheriges Verhalten

Wenn Sie zuvor in einer .NET Framework-Anwendung unter Linux dotnet run aufgerufen haben, setzt das SDK automatisch die Eigenschaften RunCommand und RunArguments in der Projektdatei, damit Mono als Laufzeit verwendet wird.

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

Dies ermöglichte es, .NET Framework-Anwendungen direkt mit dotnet run ohne zusätzliche Konfiguration zu starten.

Neues Verhalten

Ab .NET 11 konfiguriert das SDK diese Eigenschaften nicht mehr automatisch. Die Ausführung dotnet run auf einer .NET Framework-Anwendung unter Linux schlägt fehl, es sei denn, die RunCommand Eigenschaften RunArguments werden explizit in der Projektdatei festgelegt.

Art der einschneidenden Änderung

Diese Änderung ist eine Verhaltensänderung.

Grund für Änderung

Diese Änderung wurde vorgenommen, da das Ausführen von .NET Framework-Anwendungen unter Linux mit Mono nicht mehr offiziell unterstützt wird. Das Eigentum von Mono hat den Besitzer gewechselt, und das .NET SDK sollte keine Startziele für nicht unterstützte Szenarien automatisch konfigurieren.

Weitere Informationen finden Sie unter dotnet/sdk PR #52091.

Wenn Sie .NET Framework-Anwendungen unter Linux weiterhin mit Mono ausführen müssen, können Sie die RunCommand und RunArguments Eigenschaften in Ihrer Projektdatei manuell konfigurieren.

Betroffene APIs

Keiner.