Я создаю новый веб-API ASP ядра dotnet (dotnet core 2.2) и заметил одну вещь: в нем есть ссылка на пакет с именем Microsoft.AspNetCore.App
.
Если я загляну внутрь этого пакета, то на самом деле это отсылка к множеству других пакетов, которые Microsoft использует по умолчанию, чтобы вы могли создавать все поющие и все танцующие веб-приложения.
Одна вещь, которую я заметил внутри, это ссылки на пакеты (например), такие как аутентификация или структура сущностей. Ничего из того, что мне нужно (у меня очень простой API).
Мой вопрос
Влияют ли ссылки на неиспользуемые пакеты на общий вывод приложения? Экономит ли это потребление памяти (объекты не будут создаваться, если dll больше не связана).
Я предполагаю, что ссылки на пакеты, которые не используются, по-прежнему имеют «отпечаток» (общий вывод скомпилированного размера) в вашем приложении со ссылками на настраиваемые пакеты и объекты в создаваемых пакетах (я могу быть совершенно неправ насчет этого - так что любое разъяснение было бы здорово!).
Я использовал концепцию встряхивания дерева в мире пользовательского интерфейса, например, в WebPack. Я видел этот пост, который выглядит так, как будто dotnet имеет что-то подобное:
https://ianqvist.blogspot.com/2018/01/reduction-size-of-self-contained-net.html
Заранее благодарю за любой совет!