Целевой объект mono launch не задан для приложений .NET Framework

Пакет SDK для .NET больше не устанавливает mono автоматически в качестве цели для запуска приложений .NET Framework в Linux при использовании dotnet run.

Представленная версия

.NET 11( предварительная версия 1)

Предыдущее поведение

Ранее, когда вы вызывали dotnet run в приложении .NET Framework на Linux, пакет SDK автоматически устанавливал свойства RunCommand и RunArguments в файле проекта для использования среды выполнения Mono.

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

Это позволило запускать приложения .NET Framework напрямую, используя dotnet run без дополнительной настройки.

Новое поведение

Начиная с .NET 11 пакет SDK больше не настраивает эти свойства. Выполнение dotnet run приложения .NET Framework на Linux завершается ошибкой, если в файле проекта явно не заданы свойства RunCommand, RunArguments.

Тип разрушающего изменения

Это изменение поведения.

Причина изменения

Это изменение было сделано, так как запуск приложений .NET Framework в Linux с использованием Mono больше не поддерживается официально. Права владения Mono перешли, и пакет SDK для .NET не должен автоматически настраивать целевые объекты запуска для неподдерживаемых сценариев.

Дополнительные сведения см. в разделе dotnet/sdk PR #52091.

Если вам нужно продолжать запуск приложений .NET Framework в Linux с помощью Mono, можно вручную настроить RunCommand и RunArguments свойство в файле проекта.

Затронутые API

Нет.