dotnet publish -c Release -r win-x64 –self-contained true -p:PublishSingleFile=true
При вызове этой команды появляется папка bin\Release\net8.0\win-x64\ с файлами, а в ней папка publish
Где находится итоговый скомпилированный файл программы? и что это за файлы и папки?
После выполнения команды:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true
.NET создает скомпилированное приложение в папке bin\Release\net8.0\win-x64\publish\
.
Где находится итоговый исполняемый файл?
Финальный exe-файл (если для Windows) или бинарный файл (если для Linux/macOS) находится в папке:
bin\Release\net8.0\win-x64\publish\DynamicDnsUpdater.exe
или без .exe
, если это Linux/macOS.
Чтобы убедиться, можно выполнить:
cd bin\Release\net8.0\win-x64\publish\
dir
или в терминале PowerShell:
Get-ChildItem bin\Release\net8.0\win-x64\publish\
Что значат папки и файлы в bin\Release\net8.0\win-x64\
?
publish/
— папка с финальной версией приложения, готовой к развертыванию.- Если сборка самодостаточная (
--self-contained true
), в ней будет только один EXE-файл. - Если не самодостаточная, то в этой папке будет множество .dll-файлов.
- Если сборка самодостаточная (
- Исполняемый файл в
win-x64/
(безpublish/
):- Это промежуточная версия сборки, которая содержит все зависимости и файлы от .NET, но не является финальной опубликованной версией.
- Файлы и библиотеки в
win-x64/
:DynamicDnsUpdater.exe
— скомпилированный исполняемый файл приложения.DynamicDnsUpdater.pdb
— отладочная информация (можно удалить, если не отлаживаешь).DynamicDnsUpdater.deps.json
— зависимости проекта.DynamicDnsUpdater.runtimeconfig.json
— настройки среды выполнения..dll
-файлы (например,System.*
) — библиотеки .NET, если сборка не самодостаточная.
Как запустить итоговый файл?
Перейди в publish
и запусти:
cd bin\Release\net8.0\win-x64\publish\
DynamicDnsUpdater.exe
Если хочешь самый легковесный вариант, убедись, что файл DynamicDnsUpdater.exe
действительно один, а если нет — добавь флаг:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true
Этот флаг уменьшает размер исполняемого файла.
Вывод
- Итоговый файл находится в
bin\Release\net8.0\win-x64\publish\DynamicDnsUpdater.exe
. win-x64/
содержит промежуточную сборку с зависимостями.publish/
— финальная версия, готовая к запуску и развертыванию.
Если после сборки у тебя всё равно много файлов и нет одного exe-файла, уточни — разберемся! 🚀
Добавить комментарий