Огромный пакет директорий .NET решение - PullRequest
0 голосов
/ 27 июня 2018

Я разработал приложение asp.net mvc для управления бизнес-процессами в нашей организации. Это приложение использует следующие основные рамки:

  • Asp.NET MVC 5.0;
  • Entity Framework 6.0 для управления доступом к БД;
  • MS Identity 2.0 для управления безопасностью: пользователи, роли, полномочия доступа ...;
  • Бутстрап;

Я заметил, что каталог пакетов этого решения стал очень большим (более 350 МБ). Я попытался использовать функцию «Удалить неиспользуемые пакеты» в ReShaper, но это не значительно уменьшило размер папки пакетов. Я думаю, что есть некоторые ненужные пакеты, которые должны быть удалены. Итак, мои вопросы:

  1. Нормально ли иметь каталог пакетов размером более 350 МБ для простого решения asp.net MVC?

  2. Как можно уменьшить размер этого каталога и удалить все неиспользуемые и ненужные пакеты?

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Это 2018 год, дисковое пространство дешевое, 350 МБ не "огромные".

В этих пакетах есть множество метаданных, и каждый пакет существует как .nupkg и в извлеченном виде, удваивая его размер (за исключением пакетов ZIP, используемых для пакетов). Таким образом, если такой пакет, как MVC 5.2, имеет размер 300 КБ, а его извлеченный размер - 1,5 МБ, то в общей сложности это будет уже около 2 МБ для одного пакета. И, вероятно, у вас есть десятки, если не больше пакетов, каждый из которых занимает свое дисковое пространство.

Это становится проблемой только тогда, когда другие люди в вашей команде обновляют пакеты, а затем вы извлекаете их версию, каталог ваших пакетов по-прежнему содержит более старые версии, а также более новые версии.

Так что это может помочь регулярно чистить каталог ваших пакетов, если это произойдет. Тогда только используемые в данный момент пакеты будут загружены снова.

Несколько версий пакета, установленного в решении, также приводят к сосуществованию старых версий с более новыми; Обновите сразу все пакеты для решения («Управление пакетами NuGet для решения») или объедините их на вкладке «Консолидация». Это гарантирует, что все проекты ссылаются на одну и ту же версию пакета.

0 голосов
/ 27 июня 2018

Пакеты, включенные в один из моих проектов, занимают 450 МБ и работают по желанию и без проблем. Так что я не буду так беспокоиться о том, что у тебя 350Mb.

Если Resharper не может удалить какие-либо неиспользуемые пакеты, то можно предположить, что все они используются в какой-то момент в вашем приложении. Как найти неиспользуемые пакеты NuGet в решении? был полезным постом об инструменте Resharpers для этого.

Обратите внимание, что вы также можете использовать расширение Visual Studio ResolveUR - Разрешить неиспользуемые ссылки

Если пакеты используются, проект будет сломан при попытке сборки, и пакет будет удален.

...