14

Mam mieszane środowisko, w którym niektórzy programiści pracują w Visual Studio 2013, a inni pracują na 2015. Wszystko działało w porządku, dopóki nie uaktualniania odwołuje pakiet Nuget z Visual Studio 2015.Jak korzystać z NuGet 3.0 z Visual Studio 2013?

Teraz, gdy próbuje przywrócić pakiety Nuget z Visual Studio 2013, widzę następujący błąd:

NuGet Package restore failed for project Foo: The 'System.Linq 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60723.765'..

najwyraźniej nie ma wersji Nuget 3.x dla Visual Studio 2013.

Czy istnieje rozwiązanie, aby kontynuować pracę zarówno z Visual Studio 2013 i 2015?

Odpowiedz

11

Jak zauważył Hans Passant w swojej odpowiedzi, NuGet 3.0 nie jest potrzebny w przypadku projektów, które są ukierunkowane wyłącznie na waniliowe środowisko .NET 4.5 (i to właśnie było celem programu Visual Studio 2013 w naszym przypadku).

To było dodanie zaktualizowanego pakietu Nuget konkretnie System.Collections.Immutable 1.1.37, która wprowadziła zależność .NETPlatform,Version=v5.0, co z kolei wywołało zależność przypadkowe na Nuget 3,0.

Powrót do wersji 1.1.36 tego pakietu rozwiązał problem.

+1

Potrzebuję NuGet 3.0 na VS 2013, ponieważ 3. # obsługuje ContentFiles, który 2. # nie :( – Phill

+0

+1 Dziękuję, miałem podobny problem z nowym wersja Moq, instalacja poprzedniej wersji Moq bez tej zależności zadziałała! Cierpliwie czekam na aktualizację mojego zespołu do 2015 ... – EaziLuizi

+0

To nie ma sensu NuGet 3 najwyraźniej ma nową strukturę źródła pakietów, a może 3 [nie obsługuje starej, formalnej studni] (https://github.com/NuGet/Home/issues/1909). Czy 2 obsługuje nową strukturę? Jeśli nie, to wydaje się wystarczającym powodem do aktualizacji. – jpmc26

12

Sigh, zespół, który nie może się zdecydować na jakich narzędzi używają, co może pójść nie tak? Cóż to. I drugi raczej nieprzyjemny problem, ten pakiet jest przeznaczony dla projektów ukierunkowanych na CoreCLR i smak uniwersalnych aplikacji Win10. Nie możesz stworzyć ani zbudować takiego projektu na VS2013. Próbując rozwiązać problem z wersją Nugeta, nic nie kupujesz.

Musicie się spotkać i wymyślić, nad którymi projektami będziecie pracować. Jeśli CoreCLR jest tym, co wszyscy chcą robić, i pytaj dlaczego, to każdy musi zaktualizować VS2015.

+0

Hans, dziękuję za odpowiedź. Nie wiedziałem, że w jakiś sposób przeszmuglowaliśmy zależność CoreCLR w naszym projekcie. Wcale nie było to celowe, ponieważ obecnie budujemy system Win32. Aby zapewnić przyszłą ścieżkę do Universal Apps, większość naszego kodu jest zbudowana jako PCL; Popieram, że jest to prawdopodobnie problem, który spowodował uzależnienie "NuGet 3.0". –

+0

Użyliśmy System.Collections.Immutable 1.1.36 (dla .NET 4.5). Przejście do wersji 1.1.37 wprowadziło zależność od .NET 5.0, co było przypadkiem. –

+0

http://stackoverflow.com/a/32189169/17034 –

Powiązane problemy