Как стать автором
Обновить
1
0

Пользователь

Отправить сообщение

Походу взялись за облачные VPN, потому что Lantern отвалился тоже 20 числа... Совпадение? Не думаю...

В приложении Магнит Доставка всё еще разлогинивает.

Вообще-то появились не только скриншоты, но и сам iso образ с именем 21996.1.210529-1541.co_release_CLIENT_CONSUMER_x64FRE_en-us.iso доступный для свободного скачивания если знать откуда.

.NET 5.0 это не просто переименованный 3.1, там огромное количество изменений...


А библиотеки оно никуда не распаковывает. Сборки грузятся напрямую из памяти используя CreateFileMapping/MapViewOfFile peimagelayout.cpp.

Странно. У меня на .NET 6 SDK Preview 4 получаются такие результаты с пустым WinForms проектом:
SingleFile+Trim+Link=87.9MB
SingleFile+Trim+Copy=87.9MB
SingleFile+Trim+Link+Compress=41.1MB
SingleFile+Trim+Copy+Compress=41.1MB
SingleFile=134MB
SingleFile+Compress=61MB
(размеры указаны без учета нативных библиотек, лежащих рядом с исполняемым файлом)


Похоже что опция Link не работает, т.к. на размер она никак не влияет...


Оказывается TrimMode=Link на .NET 6 используется по умолчанию, и при попытке поменять его на CopyUsed никакой разницы не наблюдается.

Я имел в виду что если запустить его под отладчиком, то по идее должно показать где проблема. Так же обычно в этих случаях создается запись в событиях винды (Event Viewer) с текстом исключения. В большинстве случаев проблема вызвана удалением какого-то нужного типа и решается добавлением специальных тегов в файл проекта.

Вообще-то IncludeAllContentForSelfExtract и IncludeNativeLibrariesForSelfExtract не одно и тоже… Совершенно разные опции…
Ну и во многих случаях важнее иметь единый файл, чем потерять 10 МБ места на диске из-за распакованных файлов. Например у консольных приложений вообще нет никаких нативных зависимостей (если их самому не добавить), они из коробки имеются только у WinForms и WPF.

Распаковываться будут только нативные зависимости, коих обычно не больше 10, а не все потроха, причем только при первом запуске. При последующих запусках будут использоваться распакованные библиотеки. Не вижу в этом проблемы.

Кстати, а что за проблемы с отладкой были при использовании PublishTrimmed и TrimMode=Link?

С опцией PublishSingleFile, помимо непосредственно .exe файла размером 135 МБ, я получаю ещё дополнительный набор файлов.

Так используйте опцию -p:IncludeNativeLibrariesForSelfExtract=true и нативные зависимости тоже упакуются в единый файл. По умолчанию они располагаются рядом с исполняемым файлом.
-p:EnableCompressionInSingleFile=true включает zlib сжатие сборок в single file, опция доступна только при использовании .NET 6 SDK Preview 4 и выше. Размер файла уменьшится дополнительно еще примерно в 2 раза.
--self-contained true при публикации с -p:PublishSingleFile=true используется по умолчанию.
-p:IncludeNativeLibrariesForSelfExtract=true позволяет включить в единый файл нативные зависимости, чтобы они после публикации не лежали рядом с исполняемым файлом. Опция точно доступна в .NET 5.0 SDK, а может и более ранних.

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность