Viji
@Viji
Associate DevOps Engineer

Какой формат и расширение файлов типичного .net core бекэнд приложения?

Для того чтобы .net core приложение работало, скажем для Linux платформе его публикуют - а какой типичный формат и расширение этих бинарных файлов? Нужен ли на установленный .net на платформе где будет запускаться такое .net приложение?
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
vabka
@vabka Куратор тега .NET
Токсичный шарпист
Нужен ли на установленный .net на платформе где будет запускаться такое .net приложение?

Когда ты публикуешь приложение для Linux - оно будет с расширением исполняемого файла от линукса.
А именно - ни с каким.
Если будешь публиковать платформонезависимое приложение, то тогда будет .dll и в любом случае понадобится установленный рантайм.
Нужен ли на установленный .net на платформе где будет запускаться такое .net приложение?

Если публиковал с флагом --self-contained или --self-contained true, то не нужен.
Если публиковал без флага --self-contained или с флагом --self-contained false, то нужен.

Это всё ты мог проверить самостоятельно, просто скомпилировав хеллоу ворлд.

PS: вот что конкретно выдаётся в результате:
C:/workspace
❯ dotnet new console -o DemoLinuxPublish
Шаблон "Консольное приложение" успешно создан.

Идет обработка действий после создания...
Выполнение "dotnet restore" для C:\workspace\DemoLinuxPublish\DemoLinuxPublish.csproj...
  Определение проектов для восстановления...
  Восстановлен C:\workspace\DemoLinuxPublish\DemoLinuxPublish.csproj (за 113 ms).
Восстановление выполнено.


C:/workspace took 2s
❯ cd .\DemoLinuxPublish\

C:/workspace/DemoLinuxPublish via .NET v6.0.100  net6.0 took 12s
❯ dotnet publish -c Release -r linux-x64 --self-contained -v q --nologo -p:PublishSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false -p:PublishReadyToRun=true -p:PublishTrimmed=true

C:/workspace/DemoLinuxPublish via .NET v6.0.100  net6.0 took 2s
❯ ls .\bin\Release\net6.0\linux-x64\publish\

    Directory: C:\workspace\DemoLinuxPublish\bin\Release\net6.0\linux-x64\publish

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          21.03.2022     3:25       15866695 DemoLinuxPublish

PPS: я немного упоролся с дополнительными параметрами сборки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы