Раньше на .NET Framework сборка релизовой версии программы делалась очень просто. Выбрать конфигурацию Release/Any CPU, и нажать Build. Всё. Дальше можно зиповать папку Bin/Release, удалить pdb файлы, и получался готовый дистрибутив. Его можно уже упаковывать в инсталлятор, либо распространять в виде zip архива.
Что же с .NET Core? Если делать таким же макаром, вылезает куча "лишних" dll и json файлов. Но, в целом, они весят не то, чтобы совсем много, можно тоже скопировать их в архив с релизом.
Вычитал, что в .NET Core можно собирать экзешники через dotnet publish, причём сразу можно сделать бинарники и под альтернативные платформы. Всё бы ничего, но полученные папки "для публикации" выходят совсем тяжёлыми - под 200 мегабайт для программки весом в 0,2 МБ!!! Это уж слишком жирно, по ADSL люди будут качать вечность (а есть и такие жертвы капитализма, до сих пор).
Есть цивильные методы, чтобы обкорнать дистрибутив программы до вменяемого веса? Кроме как удалять по файлу, и смотреть, заведётся или нет где-нибудь на чистой ОС.
Особенно это меня волнует потому, что нашёл хороший плагин к SDK,
https://github.com/qmfrederik/dotnet-packaging/ . Им можно сразу получать deb/rpm пакеты для Linux и zip архивы для Windows. Но он, гад, использует тот же dotnet publish, и просто архивирует его выдачу (и дополняет .deb пакеты директивами из .csproj файла). Хочется, чтобы архивы не содержали в себе весь .NET Core целиком. Тем более, что на Linux его в любом случае если что докачает пакетный менеджер.