Добавление внутреннего сервера NuGet на сервер сборки TFS?

У нас есть частный сервер NuGet, и моя проблема в том, что сборки TFS 2017 не распознают внутренний сервер NuGet пакета, очевидно, без указания URL-адреса. Я попытался поместить его в Nuget.config, и он сработал, но с некоторыми проблемами.

Однако я хотел бы как-то добавить это в глобальный список каналов. У меня не установлен NuGet на сервере, хотя восстановление NuGet происходит как задача сборки, поэтому он существует в каталоге c: _work_tasks \ NuGetInstaller_333b11bd-d341-40d9-afcf-b32d5ce6f23b \ 0.2.21 \ etc, и я не вижу ничего, что позволил бы мне изменить набор каналов.

Кстати, когда я добавил источник пакета в nuget.config, казалось, что он загружается ТОЛЬКО из этого источника и игнорирует все значения по умолчанию, такие как nuget.org и т. Д.

Как я могу добавить внутренний сервер nuget, чтобы все мои сборки могли получить к нему доступ? Спасибо.


person Ryan Peters    schedule 14.12.2017    source источник
comment
Вы используете канал TFS (установите TFS как частный сервер NuGet) или любой другой частный сервер Nuget? : Начните с управления пакетами NuGet в VSTS и TFS   -  person Andy Li-MSFT    schedule 15.12.2017
comment
@ Энди, почему вы даете ссылки, связанные с Azure? Я спрашиваю, потому что пытаюсь добавить пакеты в общую папку в нашей сети.   -  person IrishChieftain    schedule 26.06.2019


Ответы (2)


Обычно вам просто нужно добавить каналы (также добавить источник nuget.org) в NuGet.config файл, а затем проверить файл.

(Если вы использовали третий частный сервер NuGet, вы можете попробовать Управление пакетами в VSTS и TFS)

e.g.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!-- remove any machine-wide sources with <clear/> -->
    <clear />
    <!-- add a VSTS feed -->
    <add key="MyGreatFeed" value="https://fabrikam.pkgs.visualstudio.com/DefaultCollection/_packaging/MyGreatFeed/nuget/v3/index.json" />
    <!-- also get packages from the NuGet Gallery -->
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
  </packageSources>
  <activePackageSource>
    <add key="All" value="(Aggregate source)" />
  </activePackageSource>
</configuration>

Для этой проблемы: «казалось, что он загружался ТОЛЬКО из этого источника и игнорировал все значения по умолчанию, такие как nuget.org и т. Д.»

Убедитесь, что вы правильно установили NuGet.config файл, и источник nuget.org не исключен.

Чтобы восстановить пакеты NuGet в сборке, выполните действия, указанные в статье ниже:

Восстановить пакеты NuGet для управления пакетами в Team Build

  • Если вы зарегистрировались в NuGet.config, выберите Каналы в моем NuGet.config и выберите файл из своего репо.
  • Если вы используете один канал VSTS / TFS, выберите вариант Каналы, которые я выбираю здесь и выберите свой канал в раскрывающемся списке.
person Andy Li-MSFT    schedule 15.12.2017
comment
@ Райан Питерс. Вы решили проблему? какое-нибудь обновление? - person Andy Li-MSFT; 02.01.2018

Немного устарело, но я также рассмотрел решение в нашей локальной TFS о том, как интегрировать другие локальные каналы nuget.

  1. Перейдите в настройки и выберите «Услуги».

Теперь вы должны увидеть список конечных точек

  1. Нажмите «+ Добавить новую конечную точку службы» и выберите «NuGet» в раскрывающемся списке.

открывается диалоговое окно, в котором можно ввести информацию о локальном сервере NuGet

  1. После сохранения конечной точки теперь вы должны иметь возможность выбрать свою конечную точку NuGet в своей сборке при добавлении шага сборки NuGet-Restore (в версии 2. *) и ..

  2. на этапе сборки выберите «Каналы в моем NuGet.config» в разделе «Каналы для использования *» , теперь должно появиться раскрывающееся меню, чтобы выбрать «Учетные данные для каналов за пределами этой учетной записи / коллекции». В этом раскрывающемся списке вы можете выбрать свою конечную точку NuGet.

person SwissCoder    schedule 18.10.2019