Проблема Nuget Server после миграции на Win 2016

Я перенес репозиторий nuget с Win 2008 на Win 2016. Псевдоним для этого сервера: http://xyz.mycompany.com/NugetFeed

Помимо окон, IIS тоже отличается, на новом сервере это IIS 10.

После миграции nuget работает довольно хорошо, за исключением одной функции. Я могу просматривать пакеты через Интернет (http://xyz.mycompany.com/NugetFeed) или через Visual Studio и т. д. Visual Studio может видеть пакеты, созданные вручную.

Единственная проблема связана с толчком nuget.

>nuget push FEDivaNET.dll*.nupkg -Source http://xyz.mycompany.com/NugetFeed/ D568CD48-1609-40C9-9A5D-7ADC808129E5 Pushing FEDivaNET.dll.3.41.73.nupkg to 'http://xyz.mycompany.com/NugetFeed/'... PUT http://xyz.mycompany.com/NugetFeed/ NotFound http://xyz.mycompany.com/NugetFeed/ 128ms Response status code does not indicate success: 404 (Not Found). System.Net.Http.HttpRequestException: Response status code does not indicate success: 404 (Not Found). at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode() at NuGet.Protocol.Core.Types.PackageUpdateResource.<>c.<PushPackageToServer>b__23_0(HttpResponseMessage response) at NuGet.Protocol.HttpSource.<ProcessResponseAsync>d__181.MoveNext()

  • Это не проблема с URL. Когда вы попытаетесь изменить URL, вы получите другую ошибку
  • Это не проблема с разрешениями для D:\MyServer\NugetPackages на сервере, так как я установил полные разрешения для этой папки. Я также переместил папку пакетов в другое место (например, на другой внешний сетевой диск), но у меня та же проблема.

Я попытался скомпилировать 2 разные версии Nuget.Server: 2.14.0 и 3.1.2... То же исключение.

Внутри IIS я почти уверен, что установил те же настройки, что и на старом сервере. Также у меня ИНТЕГРИРОВАННЫЙ конвейерный режим, так что все хорошо. Я также пытался настроить аутентификацию через технических пользователей и т. Д.

Не уверен, в чем проблема, я думаю, что проверил все настройки. Пробовал и с APIKEY, и без APIKEY. Я изменил все настройки в Web.config, но не повезло…..


person Jack    schedule 09.01.2019    source источник
comment
Вы пробовали это: stackoverflow.com/ вопросы/30539179/   -  person Troopers    schedule 10.01.2019
comment
Спасибо, к сожалению, это не проблема. Я пробовал играть с настройкой, а также загружать небольшие файлы... То же исключение...   -  person Jack    schedule 11.01.2019
comment
Здесь проблема, связанная с ошибкой: вы можете попробовать скопировать двоичные файлы из папки bin в опубликовать папку   -  person Troopers    schedule 11.01.2019
comment
Это не работает.   -  person Jack    schedule 11.01.2019


Ответы (2)


URL-адрес, на который нажимается пакет nuget, выглядит примерно так

http://{сервер}/{канал}/api/v2/пакет

Итак, в вашей команде используйте:

nuget push FEDivaNET.dll*.nupkg -Source http://xyz.mycompany.com/NugetFeed/api/v2/package

Документация: публиковать пакет

person Troopers    schedule 10.01.2019
comment
К сожалению, это не работает, я получаю такое же исключение. Я также думаю, что оба суффикса /api/v2/package необязательны, на моем старом сервере он работает с суффиксом и без него. - person Jack; 10.01.2019

Когда вы создаете веб-сайт в IIS 10, по умолчанию команда PUT не разрешена.

Это можно установить здесь:

IIS -> YOUR WebSite -> Request Filtering -> HTTP Verb tab: **Set PUT verb**

Это устранило проблему.

person Jack    schedule 08.02.2019