Сборка консольного приложения под Linux в NET7

Рейтинг: 0Ответов: 0Опубликовано: 28.02.2023

Мне нужно собрать консольное приложение C# для Linux, но в свойствах проекта, в графе Целевая ОС есть разные платформы, включая Mac, iOS и т.д., но только не Linux с его дистрибутивами. Гуглил, пробовал менять .csproj вручную, сейчас он выглядит так:

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net7.0</TargetFramework>
    <RootNamespace>Hello_World</RootNamespace>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
    <IsPackable>false</IsPackable>
  </PropertyGroup>

</Project>

Если убрать OutputType Exe, то собирает DLL. Команда dotnet publish -r linux-x64 -f net7.0 так же не дает нужного результата. В лучшем случае собирает без расширения исполняемого файла, что тоже не запустить на линуксе. SDK NET7 установлены, никаких пакетов, связанных с Linux в инсталлере не обнаружил, сам проект без внешних зависимостей - простейший Hello World из трех строк.

Ответы

Ответов пока нет.