#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
.
- Microsoft.NET.Test.Sdk 16.7.1
- Майкрософт.CodeCoverage 16.7.1
- Майкрософт.TestPlatform.TestHost 16.7.1
- Майкрософт.TestPlatform.ObjectModel 16.7.1
- NuGet.Фреймворки 5.0.0
- coverlet.collector 1.3.0
- mstest.testadapter 2.1.1
- mstest.testframework 2.1.1
- system.diagnostics.textwritertracelistener 4.3.0
- system.diagnostics.tracesource 4.3.0
Скопируйте их в локальный путь:
После этого вам не нужно подключаться к Интернету при создании проекта 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. Если мой ответ поможет вам справиться и понять эту проблему, пожалуйста, не забудьте принять его . А если нет, пожалуйста, не стесняйтесь, дайте нам знать:)