Нажатие на частный канал nuget Запросы для учетных данных

Я создал приватную фишку nuget с использованием пустого веб-приложения и пакета сервера nuget. Это все работает, я могу получить из фида, и я могу опубликовать его в частном канале, используя Nuget Package Explorer. Но я не могу опубликовать его через командную строку - он запрашивает учетные данные. Я установил ApiKey в веб-приложении в приложениях, на простой пароль, и я попытался добавить ApiKey к команде push. Это подсказывает мне имя пользователя, а затем пароль. Я также попробовал команду SetApiKey, но я получаю такое же поведение. На сервере сборки я пытаюсь сделать то же самое с теми же результатами.

Вот сообщения об ошибках из журнала сборки (идентификация информации x'd out)

nuget pack "C:\Builds\2\OE Phase II\Common\src\WebApi\Web.Http\Bxxxxxxxs.Web.Http.csproj" -IncludeReferencedProjects -Properties Configuration=Release
  nuget SetApiKey Bxxxxxxx1 -Source http://tfs12.xxxxxxxrps.com/Nuget
  nuget push *.nupkg -s http://tfs12.xxxxxxxrps.com/Nuget/
  C:\Builds\2\OE Phase II\Common\bin\xxxxxxx.Web.Http.dll
  1 File(s) copied
  Attempting to build package from 'xxxxxxx.Web.Http.csproj'.
  Packing files from 'C:\Builds\2\OE Phase II\Common\src\WebApi\Web.Http\bin\Release'.
  Using 'xxxxxxxs.Web.Http.nuspec' for metadata.
  Found packages.config. Using packages listed as dependencies
  Successfully created package 'C:\Builds\2\OE Phase II\Common\bin\xxxxxxxs.Web.Http.1.0.0.0.nupkg'.
  The API Key 'xxxxxxx' was saved for 'http://tfs12.xxxxxxxrps.com/Nuget'.
  Pushing Bxxxxxxxrs.Data 1.0.0.0 to 'http://tfs12.xxxxxxxrps.com/Nuget/'...
  Please provide credentials for: http://tfs12.xxxxxxxrps.com/Nuget/
  Object reference not set to an instance of an object.
  UserName: Password: 

Ответы

Ответ 1

Найденное решение для Windows Server 2012 и Nuget.Server 2.8.5

  • Откройте диспетчер IIS
  • найдите приложение "Nuget.Server"
  • щелкните правой кнопкой мыши и выберите "Изменить разрешения"
  • перейдите на вкладку "Безопасность".

Добавить "запись" для группы "Все".

Ответ 2

Ключ API предназначен для загрузки/выгрузки пакетов. Похоже, что у вас есть прокси-сервер http, и вы можете установить имя пользователя и пароль, вызвав команду config.new.exe.

Пример:

nuget config -Set HTTP_PROXY = http://*.*.. -Set HTTP_PROXY.USER = domain\user

nuget.config HTTP_PROXY

http://docs.nuget.org/docs/reference/command-line-reference

Ответ 3

Это сработало для меня: Сайт > Аутентификация > Включить проверку подлинности Windows (по умолчанию у меня был анонимный), а push будет использовать вашу учетную запись домена без ввода пользователем.

Ответ 4

Также, какую версию пакета NuGet.Server вы использовали? NuGet уже выпустил версию 2.7.2.

Можете ли вы попытаться посмотреть, все еще игнорируется исключение null ref? Спасибо.

Ответ 5

Вы можете найти этот SO ответ, поскольку в нем описывается, как настраивать учетные данные на рабочей станции и/или сервере сборки, что требуется для нажатия через командную строку, на сервер, требующий аутентификации (например, частный канал).

Ключ API не требуется публиковать.

Ответ 6

У меня тоже была эта проблема, и я знал, что она работает раньше, оказывается, что я использовал обновление NuGet.exe 2.8.1 с помощью

NuGet.exe update -self 

взял его до 2.8.3 и теперь отлично работает.