Подтвердить что ты не робот

.Net Core и NuGet

I установил ядро ​​.net с этого сайта. Игра с ним привела к ряду связанных вопросов управления пакетами:

  • Команда dotnet restore приступила к установке пакетов NuGet ядра .net. Где были установлены эти пакеты? Не была создана новая папка.
  • dotnet restore для минимального примера "hello world" требуется около ста пакетов NuGet, где 99%, по-видимому, не имеют отношения к приложению "hello world". Конечно, родной сборник .net удалит все, что не нужно, - но я ожидал, что restore также захватил бы очень мало (три или четыре пакета, а не сто). Почему это поведение?
  • Я создал второй проект "привет мир" и снова побежал dotnet restore. На этот раз пакеты не были установлены вообще. Кажется, все пакеты, установленные в первый раз, вошли в какое-то глобальное местоположение для совместного использования. Я думал, что Net Core так не работает. Я думал, что проекты .Net Core сохраняют все свои зависимости локально. Единственной картой, на которую я нацелился, был dnxcore50. Почему это поведение?
  • Я хотел бы "удалить" все эти глобальные пакеты и повторить попытку (только для учебных целей). Как это может быть достигнуто? Помните, что, как указано в вопросе №1, я не знаю, где были установлены все эти файлы.
  • Почти все пакеты, установленные с помощью команды restore, были указаны как бета-версии. Странно. Я думал, что .Net Core был в RC1, а не в бета-версии. Смущает это. Почему это поведение?

Мне также интересно, какая документация могла/объяснила бы мне все это. Я пробовал поиск по каждому из этих вопросов и ничего не нашел (возможно, просто ужасно google-fu?).

4b9b3361

Ответ 1

Обновление:

  • Пакеты nuget устанавливаются в глобальном масштабе. По умолчанию это было.. \Users\[YourUserFolder] \. Dnx\packages, но, похоже, оно было изменено на.. \Users\[YourUserFolder] \. Nuget\packages

В NuGet 3+ вы можете использовать следующую команду NuGet CLI, чтобы получить местоположение папки глобальных пакетов

nuget locals global-packages -list

Ознакомьтесь с приведенными ниже ссылками для получения дополнительной информации о NuGet


  1. Шаблон ASP.Net по умолчанию имеет так много пакетов. Поскольку вы пытались в первый раз, он попытался получить все эти 100 пакетов.

  2. У вас уже были эти пакеты в ваших глобальных местоположениях nuget, он пропустил восстановление.

  3. Удалить все содержимое в папке пакетов (местоположение указано в 1)

  4. Некоторые из бета-пакетов есть. Вы можете перейти к файлу project.json(доступному под корнем сети) и поиграть с разделом зависимостей.

Ответ 2

Я только выяснил, что существует другое место для пакетов NuGet, используемых в основных проектах .NET. Его расположение:

C:\Users\[User]\.nuget\packages

Я думаю, что это место содержит регулярные пакеты .NET Framework.

Обновление: благодаря brappleye3, здесь ссылка к документации по восстановлению dotnet.