Пакеты NuGet не отображаются после отправки в частный канал NuGet (NuGet.Server, IIS)

Я выполнил инструкции по размещению собственных фидов NuGet:

  1. Создайте пустое веб-приложение
  2. Установил пакет NuGet.Server
  3. Установите ~/Packages как packagesPath в Web.config
  4. Установите мой ключ API в Web.config
  5. Создал файл .nupkg из библиотеки классов, используя NuGet.exe
  6. Создал новое приложение в IIS под названием «NuGet».
  7. Предоставлен доступ на чтение/запись пользователям и группам IUSR и IIS_IUSRS.
  8. Запустил nuget setApiKey ABC123 -Source http://localhost/NuGet из командной строки
  9. Побежал nuget push Foo.Bar.dll.nupkg -Source http://localhost/NuGet

Отправка на сервер NuGet прошла успешно. Я могу просмотреть папку в проводнике Windows и увидеть файл .nupkg.

Когда я захожу на http://localhost/NuGet/nuget/Packages, я получаю RSS-канал, показывающий пакет, который я только что отправил.

Когда я перехожу к http://localhost/NuGet/nuget/, я получаю пустой список пакетов:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<service xml:base="http://localhost/NuGet/nuget/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns="http://www.w3.org/2007/app">
  <workspace>
    <atom:title>Default</atom:title>
    <collection href="Packages">
      <atom:title>Packages</atom:title>
    </collection>
  </workspace>
</service>

После настройки NuGet в Visual Studio для включения http://localhost/NuGet в качестве одного из источников пакета я также не могу установить только что отправленный пакет.

Это все работает на:

  • Windows 7
  • ИИС 7.5

Почему пакет NuGet отображается в RSS-канале (/NuGet/nuget/Packages), но не отображается через /NuGet/nuget?


person Greg Burghardt    schedule 16.11.2015    source источник


Ответы (1)


Потому что /NuGet/nuget/Packages — это URL-адрес, по которому перечислены пакеты (просто так получилось, что он в формате RSS, потому что это было исходное решение реализации), а /NuGet/nuget — это конечная точка API, используемая для операций с пакетами, таких как отправка, удаление и т. д.

Размещенный вами XML — это не пустой список пакетов, это скорее дескриптор службы. Пустой список пакетов будет найден по адресу: /NuGet/nuget/Packages()?$filter=1 eq 2

person John Rasch    schedule 08.01.2016