Есть ли лучший способ загрузки пакетов nuget, необходимых для работы .NET, для автономной среды?

#visual-studio #download #nuget #offline

#visual-studio #Скачать #нагет #Не в сети

Вопрос:

В настоящее время я столкнулся с проблемой, когда у меня есть автономная среда с Visual Studio на ней. Разработка веб-приложений отлично работает с моим автономным установщиком Visual Studio, абсолютно никаких проблем нет. Но когда дело доходит до MSTest и других вещей, я, кажется, сталкиваюсь с проблемами с отсутствующими пакетами nuget.

Насколько я могу судить, нет установщиков, которые предоставляют эти пакеты (например, Microsoft.VisualStudio и т. Д.), И, по-видимому, лучший способ — позволить компьютеру с подключением к Интернету загружать пакеты во время операции восстановления, а затем перетаскивать пакеты. Но, конечно, это неправильно — Microsoft, безусловно, поддерживает автономную разработку лучше, чем это.

Есть ли у кого-нибудь какой-либо опыт или рекомендации в отношении этой проблемы?

Ответ №1:

Вам нужно будет создать локальный источник пакета nuget, в котором хранятся связанные пакеты nuget. Когда вы используете его, вам не нужно выходить в сеть для выполнения операции восстановления в будущем.

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

В разделе Инструменты -> Параметры -> Диспетчер пакетов Nuget -> Источники пакетов

создайте локальный источник пакета nuget с именем Local Cache и задайте для него значение.

На моей стороне значение равно C:Local Caches

введите описание изображения здесь

Пожалуйста, не забудьте нажать кнопку Обновления.

Затем, пожалуйста, введите nuget.org просмотрите и загрузите эти пакеты , а затем скопируйте эти файлы nupkg в локальную папку C:Local Caches .

Скопируйте их в локальный путь:

введите описание изображения здесь

После этого вам не нужно подключаться к Интернету при создании проекта MSTest.

Каждый раз, когда вы сталкивались с потерей пакетов nuget в вашей автономной среде, вам следует загружать соответствующие пакеты nuget в ваш локальный исходный код nuget.

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

============================

Обновление 1

Каждый пакет nuget имеет свои собственные зависимости от nuget. И его сложность зависит от автора пакета, и мы не имеем права вносить в него какие-либо изменения. Если вы настаиваете на использовании автономной среды, вам придется это сделать. Или вы можете попробовать это, что может быть проще: сначала удалите все nuget cahes в разделе C:Usersxxx.nugetpackages .

Затем подключите Интернет, откройте VS, создайте любые проекты, которые вы хотите использовать, а затем создайте их один раз.

Все необходимые пакеты nuget будут храниться в C:Usersxxx.nugetpackages . Пакеты nuget, которые вы используете для всех шаблонов проекта, перечислены в этой папке. В этой функции вам больше не нужно вручную запрашивать их зависимости одну за другой и копировать все содержимое packages папки в локальную Local Caches папку сразу. Это удобнее.

Комментарии:

1. Спасибо. Используется локальный репозиторий nuget, и предлагается скопировать пакеты из nuget.org был один из них, который я рассматривал, но когда я попробовал его, все они, казалось, имели свои собственные цепочки зависимостей, в результате чего создавалось довольно много файлов, поэтому маршрут, позволяющий компьютеру, подключенному к Интернету, загружать их, звучалпроще.

2. ДА. Как вы сказали, каждый пакет nuget имеет свои собственные зависимости от nuget. И его сложность зависит от автора пакета, и мы не имеем права вносить в него какие-либо изменения. Если вы настаиваете на использовании автономной среды, то вам придется это сделать. Или вы можете попробовать это, что может быть проще: сначала удалите все nuget cahes в разделе C:Usersxxx.nugetpackages . Затем подключите Интернет, откройте VS, создайте любые проекты, которые вы хотите использовать, а затем создайте их один раз.

3. Все необходимые пакеты nuget будут храниться под C:Usersxxx.nugetpackages . Пакеты nuget, которые вы используете для всех шаблонов проекта, перечислены в этой папке. В этой функции вам больше не нужно вручную запрашивать их зависимости одну за другой и копировать все содержимое packages папки в локальную Local Caches папку сразу. Это удобнее.

4. Если мой ответ поможет вам справиться и понять эту проблему, пожалуйста, не забудьте принять его . А если нет, пожалуйста, не стесняйтесь, дайте нам знать:)