Which Nuget version to use for a package released today - nuget

i release an assembly in form of a nuget packet. i can choose between nuget commandline version 1.4, 1.5 (3 versions) or 1.6. which version should one use?

You should generally always use the latest version (run nuget.exe update -self to make sure you're up-to-date). With every new release of NuGet, we ensure that packages built using an older version still work.

Related

NuGet version vs nuget CLI version?

I'm currently learning about NuGet, and there is something I just can't figure out: Is the NuGet version (which currently ranges from 1.x to 6.x) is the same as the Nuget.exe version? If not, what is the meaning of the NuGet version, and how do I know which versions of the CLI are compatible with which versions of NuGet?

'System.Net.Http 4.0.0' package requires NuGet client version '3.0' or above

Using team city as our CI and I've started getting this error message. We've obviously updated System.Net.Http recently which now needs a new version of NuGet. How do I get team city to find the new NuGet version. I've tried installing VS2015 and updating NuGet package manager through there. I've tried pointing directly to the command line nuget.exe (Don't know if that's been updated to v3?)
[restore] The 'System.Net.Http 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
[restore] Process exited with code 1
Do I just have to just wait till MS pushing the new nuget package to nuget?
Thanks
On your teamcity client you can configure the nuget versions available to your build agents.
Go to Administration -> Integrations -> NuGet
From this screen you can click Fetch NuGet and retrieve the latest version. Then you should be able to specify that version on your build step.
Download NuGet 3.1 from this url:
http://dist.nuget.org/win-x86-commandline/v3.1.0-beta/nuget.exe
Then put that on your build server, put the directory in your path, and run your NuGet build steps as "Command Line" commands in TeamCity, using NuGet.exe.
I think you need TeamCity 9.1, as that version contains the VS2015 build tools: https://confluence.jetbrains.com/display/TCD9/What%27s+New+in+TeamCity+9.1
NuGet 3.0 was released with VS2015: http://docs.nuget.org/release-notes/nuget-3.0.0
In earlier versions of Visual Studio you could add a System reference to System.Net.Http, but Microsoft has now moved that into a NuGet package.

how do you install an older version of NuGet in Visual Studio 2010?

How do you install an older version of NuGet in vs2010?
Not use NuGet to install a older version of something else, but install say NuGet v1.5 instead of NuGet v2.2?
The older versions of NuGet are available to download from codeplex on the releases page.
NuGet 1.5 for example is available to download from codeplex: NuGet.Tools-1.5.vsix.

where can I download Techtalk.specflow.dll version 1.9.0 from?

where can I download Techtalk.specflow.dll version 1.9.0 from? As I am not able to install it using Install - package specflow. So, I think manually I need to install this. Can any one point me to right location?
The Visual Studio integration of SpecFlow is installed through Visual Studio Gallery: http://go.specflow.org/vsgallery
The runtime libraries and tools of SpecFlow (such as TechTalk.SpecFlow.Dll) should be installed through NuGet. Read more about this here: http://go.specflow.org/getting-started
The latest version of the VS integration is 1.9.1 while the latest version of the runtime is 1.9.0. The VS integration works also with previous runtime versions (including 1.9.0).
And if you have another version, make sure you uninstall it first. I had 1.7 before installing 1.9. I had to install Nuget, powershell 2.0 along with 1.9 to make it work. But works fine with all that.

Referencing a .net 3.5 version of a nuget package from a .net 4 project

I want to make my .net 4 project load the .net 3.5 version of a nuget package so that other .net 3.5 references don't get the nuget dll overwritten in the output directory.
Yikes! If the package has a .NET 3.5 and a .NET 4 version of the DLL, there's no real way to do that other than changing your project to target 3.5 itself.
I can think of a couple of workarounds though. They're not ideal, but they'd probably work.
After you install the nuget package, go into the "packages" directory (it'll be next to your solution (.sln) file. Find the package. Delete the "\lib\net40" folder. This way, NuGet will reference the next version down. You'll have to manually change the assembly reference. Note if you even upgrade this package, you'll have to do this again.
You could create a custom version of this package that only contains your 3.5 version of the DLL. Perhaps put this up in a custom feed at http://myget.org/ and install it from there.
One of those ought to work.