2015-09-07 14 views
16

Mam kłopoty z pakietu Nuget przywrócenie podczas TFS Buduj 2015„Nie można znaleźć wersję” podczas TFS Buduj 2015 podczas przywracania pakiety Nuget

Ponieważ niektóre pakiety wymagają Nuget klienta 3.x, mam skonfigurowane nowa kompilacja skryptów do używania niestandardowej lokalizacji NuGet, w której umieściłem plik wykonywalny: NuGet Command-Line 3.x beta.

Ilekroć uruchomić kompilacji, wszystkie pakiety nie mogą zostać przywrócone i Nuget rzuca „Nie można znaleźć wersję ...” błędzie :

Unable to find version '1.1.10' of package 'Microsoft.Bcl'. 
Unable to find version '4.0.10' of package 'System.Threading'. 
Unable to find version '1.1.37' of package 'System.Collections.Immutable'. 
Unable to find version '1.0.0' of package 'Owin'. 
Unable to find version '4.1.0' of package 'NLog'. 
Unable to find version '7.0.1' of package 'Newtonsoft.Json'. 
Unable to find version '2.0.1' of package 'MongoDB.Driver.Core'. 
Unable to find version '2.0.1' of package 'MongoDB.Driver'. 
Unable to find version '2.0.1' of package 'MongoDB.Bson'. 
Unable to find version '3.0.1' of package 'Microsoft.Owin.Security.OAuth'. 

... a nawet więcej pakietów. Uważam, że kwestia jest jasna.

Kiedy buduję to samo rozwiązanie w maszynie do budowania za pomocą Visual Studio, wszystkie pakiety są przywracane z powodzeniem.

Jak rozwiązać ten problem?

+0

Jeżeli masz zainstalowany dowolny z Pakietów Microsoft.CodeAnalysis Nuget?Zrobiłem to i zacząłem otrzymywać te błędy, kiedy usunąłem wszystkie te, to zaczęło działać ponownie. – Schenz

+0

@Schenz Nie mam tego pakietu NuGet –

Odpowiedz

21

W moim przypadku problemem było, że użytkownik całej NuGet.config położony w C:\Users\[User name]\AppData\Roaming\NuGet\NuGet.config (gdzie [User name] jest użytkownik, który ucieka usługę agenta budować w Windows) został wskazując Nuget API v2 while my build is already using NuGet Command-Line 3.x.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <packageSources> 
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> 
    <!-- CHANGING V2 TO V3 IN THE URI VALUE SOLVED THE ISSUE! --> 
    <add key="nuget.org" value="https://www.nuget.org/api/v3/" /> 
    </packageSources> 
</configuration> 
+0

Miałem podobny problem, ale tylko przy próbie zainstalowania pakietu za pomocą konsoli programu Package Manager; okno dialogowe menedżera pakietów działało dobrze. Ta odpowiedź wskazała mi właściwy kierunek: był to adres URL źródła pakietu. W moim przypadku adres URL w Nuget.config powiedział "https://www.nuget.org/api/v2/". Kiedy usunąłem "www", aby zmienić go na '" https://nuget.org/api/v2/ "' działało. –

+5

https://www.nuget.org/api/v3/ - Ta lokalizacja nie istnieje (https://api.nuget.org/v3/index.json ma) ... i dwa zdefiniowane tutaj klucze oba mają ten sam identyfikator ("nuget.org") – CJBS

+0

W moim przypadku trzecia wersja została już wskazana w konfiguracji. Właśnie usunąłem całą zawartość pliku konfiguracyjnego i pomogło: David

3

W moim przypadku Nuget.Config, był w:

C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet 

szukać Więc dla Nuget.Config w C:\.

Użytkownik zależy od konta, które skonfigurowano Agent

-1

Upewnij się, czy źródło pakietu ...

przejdź do Narzędzia -> Menedżer Nuget Pakiet -> Ustawienia menedżera pakietów

Następnie kliknij "Źródła pakietów" i upewnij się, że pakiet jest zaznaczony.

enter image description here

+1

, ale mówimy o budowie TFS –

+0

wszystkie pakiety są odprawiane do TFS? – Zenacity

+0

Yup !!!!!!!!!!!! –

1

Jeśli z jakiegoś powodu aktualizującego NuGet.config w folderze Roaming nie jest opcją lub niepożądany, możliwe jest także, aby dodać plik konfiguracyjny do katalogu głównego rozwiązania.

Zgodnie z docs:

  • projektowe specyficzne pliki NuGet.Config zlokalizowane w dowolnym folderze z folderu roztwór do korzenia napędowego. Umożliwiają kontrolę ustawień, ponieważ dotyczą one projektu lub grupy projektów.
  • Specyficzny dla rozwiązania plik NuGet.Config znajdujący się w folderze .nuget w rozwiązaniu. Ustawienia w tym pliku mają zastosowanie tylko do pakietów o szerokości rozwiązania i są obsługiwane tylko w NuGet 3.3 i wcześniejszych. Jest ignorowany dla NuGet 3.4 i późniejszych.

Config file locations and uses

+0

Niezły dodatek. Wygląda na to, że problem ma wiele rozwiązań/rozwiązań w zależności od konkretnego przypadku! –

Powiązane problemy