2015-01-04 10 views
9

Używam tego poleceniaNuget Push Nie można skłonić do wejścia w tryb nieinterakcyjnym

nuget push Package.1.0.0.0.nupkg -s http://mysource.com/ xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -ConfigFile ..\..\.nuget\nuget.config 

otrzymuję ten błąd

UserName: Cannot prompt for input in non-interactive mode. 

mam określony plik nuget.config który ma nazwę użytkownika i takie jawne hasło to:

<packageSources> 
    <add key="NuGet official package source" value="http://www.nuget.org/api/v2" /> 
    <add key="https://www.nuget.org/api/v2/" value="https://www.nuget.org/api/v2/" /> 
    <add key="PackageName" value="http://mysource.com/nuget" /> 
    </packageSources> 

....  

    <packageSourceCredentials> 
    <PackageName> 
     <add key="Username" value="<username>" /> 
     <add key="ClearTextPassword" value="<clearpassword>" /> 
    </PackageName> 
    </packageSourceCredentials> 

Dlaczego to nie działa? Używam pliku wsadowego z poziomu VS2013, którego używam w wersji nugetowej, NuGet Wersja: 2.8.50926.602

Odpowiedz

1

Nie wiem, czy to pomoże, ale. Miałem ten sam błąd, gdy próbowałem naciskać na nasz prywatny serwer Klondike. Naprawiliśmy to za pomocą prawidłowego ApiKey zamiast modyfikowania konfiguracji.

+0

Używam poprawnego klucza APiKey, ale nadal daje mi ten sam błąd. Czy ktoś znalazł poprawkę? –

2

Jedyny sposób, w jaki mogłem teraz wykonać tę pracę, bazował na this post from Robin Osborne.

  • Wziąłem adres źródłowy (http://mysource.com/nuget) i odwiedził go bezpośrednio za pomocą IEXPLORE
  • Okna poprosił mnie o poświadczenia uwierzytelniania, wszedłem je ręcznie i poprosił Windows, aby zapisać hasło (to będzie przechowywać je w oknie użytkownika Przechowywanie danych logowania).
  • Następnie ponownie uruchomiłem skrypt PS1, który wykonał operację wypychania nuget i nie narzekał w ogóle.

Oczywiście nie jest to zamierzone działanie, ale przynajmniej odblokowało mnie z tej samej sytuacji, której doświadczałeś. Traktuj to jako obejście.

+0

Ta sama sztuczka zadziałała dla mnie. W moim przypadku serwer NuGet został skonfigurowany w Windows IIS i używał uwierzytelniania Windows. "Zapisywanie hasła" jest niezbędne lub nie będzie działać tak, jak zostało to już tutaj opisane. – ScottRhee

1

To nie jest do korzystania z pliku nuget.config ale miałem ten sam problem po prostu uruchamiając linię PUSH polecenia ...

Go na swojej stronie VSTS i kliknij link Package. Jeśli masz kanał, kliknij link Połącz z kanałem. Jeśli nie, ten sam link/przycisk będzie obecny na ekranie. Kliknij Generuj poświadczenia NuGet. Skopiuj polecenie i wklej je w oknie VS PM Console. Następnie postępuj zgodnie z instrukcją nr 3 na stronie i działa ona wewnątrz VS.