Нажатие на частный канал 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 и теперь отлично работает.