Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use NuGet 3.0 with Visual Studio 2013?

I have a mixed environment where some developers are working on Visual Studio 2013, and others are working on 2015. Everything worked fine until we updated a referenced NuGet package from Visual Studio 2015.

Now, when trying to restore the NuGet packages from Visual Studio 2013, I see the following error:

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'..

Apparently, there is no NuGet version 3.x for Visual Studio 2013.

Is there a solution to continue working with both Visual Studio 2013 and 2015?

like image 653
Pierre Arnaud Avatar asked Sep 25 '15 07:09

Pierre Arnaud


People also ask

How do I add Nupkg to Visual Studio 2013?

To find and install a NuGet package with Visual Studio, follow these steps: Load a project in Solution Explorer, and then select Project > Manage NuGet Packages. The NuGet Package Manager window opens. Select the Browse tab to display packages by popularity from the currently selected source (see Package sources).

How do I enable NuGet package restore in Visual Studio 2013?

To do that, go to Tools, NuGet Packaged Manager, then go to Package Manager Settings. Go to the General section, and then make sure you have a checkmark for Allow NuGet to download missing packages and also to automatically check for missing packages during the build in Visual Studio. So click on OK.

How do I open the package manager console in Visual Studio 2013?

To open the Package Manager Console in Visual Studio, select Tools > NuGet Package Manager > Package Manager Console from the top menu.


2 Answers

Sigh, a team that can't make up their mind about what tools they use, what could possibly go wrong? Well this. And the other rather nasty problem, that package is meant for projects that target CoreCLR and the Win10 flavor of Universal apps. You cannot create nor build such a project on VS2013. So trying to solve the Nuget version problem doesn't buy you anything.

You guys need to get together and hammer-out what projects you are going to work on. If CoreCLR is what everybody wants to do, and do ask why, then everybody must update to VS2015.

like image 148
Hans Passant Avatar answered Sep 28 '22 04:09

Hans Passant


As Hans Passant noted in his reply, there is no need for NuGet 3.0 on projects which are only targetting the vanilla .NET 4.5 framework (and that's what Visual Studio 2013 was meant to target in our case).

It was the addition of an updated NuGet package, specifically System.Collections.Immutable 1.1.37, which introduced a dependency on .NETPlatform,Version=v5.0, which in turn triggered the accidental dependency on NuGet 3.0.

Returning to version 1.1.36 of that package solved the issue.

like image 38
Pierre Arnaud Avatar answered Sep 28 '22 05:09

Pierre Arnaud