Przywracanie pakietu NuGet Nie można monitować o poświadczenia z niestandardowym kanałem

W moim rozwiązaniu włączyłem Przywracanie pakietów NuGet. Używam nuget.exe w wersji 2.0.30828.5. W przypadku pakietów znajdujących się w normalnym kanale publicznym przywracanie pakietów NuGet działa prawidłowo. Oznacza to, że jeśli nie ma niczego w katalogu „Pakiety” i moja lokalna pamięć podręczna NuGet (C: Użytkownicy {nazwa użytkownika} Lokalna pamięć podręczna NuGet) jest jasne, NPR działa doskonale.

Jednak gdy próbujemy użyć NPR dla pakietu w naszym niestandardowym kanale (niestandardowy kanał ma uwierzytelnianie podstawowe), otrzymujemy to:

EXEC : warning : Unable to prompt for credentials. Consult NuGet's help documentation for ways to specify credentials.
c:\<localpath>\.nuget\nuget.targets(80,9): error : Unable to find version '2.0.1.0' of package '<packageName>'.
c:\<localpath>\.nuget\nuget.targets(80,9): error MSB3073: The command ""c:\<localpath>\.nuget\nuget.exe" install "c:\<localpath>\packages.config" -source ""  -RequireConsent -o "c:\<localpath>\packages"" exited with code 1.

Kiedy patrzę na kod NuGet, a także dekompiluję nuget.exe, aby znaleźć ciąg„Nie można poprosić o poświadczenia. Skonsultuj dokumentację pomocy NuGet, aby dowiedzieć się, jak określić poświadczenia” Widzę to, ale szczerze mówiąc, nie jestem w stanie określić, kto wykorzystuje ten komunikat o błędzie.

Po dodaniu pakietu (albo z interfejsu NuGet UI, albo konsoli menedżera pakietów) monituje o poświadczenia i działa poprawnie. To tylko problem z przywracaniem pakietów.

Próbowałem uruchomić to polecenie:

NuGet.exe source Update -Name {feedname} -UserName {myusername} -Password {mypassword}

ale uzyskuje ten sam wynik.

Czy ktoś wie, jak mogę określić poświadczenia niestandardowego kanału NuGet za pomocą autoryzacji Basic dla przywracania pakietów NuGet?

UPDATE 18.09.2012

Mam aktualizację na ten temat. Obserwowałem to, kiedy uruchomiłemŹródło nuget.exe Aktualizacja ... Polecenie to dodało sekcję do pliku NuGet.config znajdującą się w folderze .nuget lokalnie do mojego rozwiązania. Następnie uruchomiłem procmon.exe podczas uruchamiania kompilacji a zauważyłem, że ten plik nie jest oglądany! Zamiast tego szukał pliku NuGet.config w katalogu „C: User {username} AppData Roaming”. Następnie skopiowałem / wkleiłem sekcję z lokalnego pliku NuGet.config do pliku NuGet.config w katalogu NuGet AppData NuGet i zadziałało!

Więc ... pytanie brzmi: co to jestpoprawny najlepsza praktyka dla tego procesu?

questionAnswers(1)

yourAnswerToTheQuestion