NuGet 1.1 Released!

Today I’m pleased to announce the release of NuGet 1.1 to the VS Extension Gallery and CodePlex. If you have NuGet 1.0 installed, just launch the VS Extension Manager (via Tools | Extension Manager menu) and click on the Updates tab.

If you don’t see any updates, make sure to enable automatic detection of available updates.

Extension Manager

If you are running VS 2010 SP1 Beta, you might run into the following error message when attempting to upgrade to NuGet 1.1 if you have an older version installed.

Visual Studio Extension Installer (3)

The workaround is to simply uninstall NuGet and then install it from the VS Extension Gallery.

It turns out that our previous VSIX was signed with an incorrect certificate and our updated VSIX is signed with the correct certificate. VS 2010 SP1 now compares and verifies that the certificates of the old and new VSIX match during an upgrade.

If you don’t have NuGet installed, click the Online tab and type in “NuGet” (sans quotes) to find it.

nuget-in-vs-gallery

The VSIX and updated command line tool (used to create and publish packages) is also available on CodePlex.com.

What’s New in 1.1?

Much of the work in this release was focused on bug fixes. Now that CodePlex.com supports directly linking to filtered views of the issue tracker, I can provide you a link to all the issues fixed in 1.1. Smile

In this post, I’ll highlight some of the new features.

Recent Packages Tab

One of the first changes you might notice is that we have a new tab in the dialog that shows packages that you’ve installed recently. Click the screenshot below for a larger view.

NuGet-Recent-Packages

The recent packages shows the last 20 packages that you’ve directly installed. This often comes in handy when you tend to use the same packages over and over again in multiple projects. Right now, the list simply shows the most recently used, but there has been discussion about perhaps changing the behavior to sort by the packages used most often. Feel free to chime in if you want the behavior changed.

By the way, you can also use the Powershell within the Package Manager Console to get this same information with the –Recent flag to Get-Package.

nuget-ps-recent

Progress Bar During Installation

When you install a package, you’ll now notice a progress bar dialog that shows up with output from installing the package.

Installing

The dialog is meant to give an indication of progress, but also gets out of your way immediately when the installation is complete so you’re not stuck clicking a bunch of Close buttons. But what happens if you actually want to review that output?

Package Manager Output Window

NuGet 1.1 also posts that output to the Output window now. When you go to the Output window, you’ll need to select output from the Package Manager to see that output as in the screenshot.

nuget-output

This allows you to review what changes a package made at your leisure after the fact.

Dependency Resolution Algorithm

NuGet 1.1 includes an update to our dependency resolution algorithm which is described in David Ebbo’s blog post on this topic in the section titled “NuGet 1.1 twist”.

Support for F# Project Types

If you are using F#, this one’s for you.

PowerShell Improvements

Thanks to our newest core contributor, Oisin Grehan a PowerShell MVP who really knows his stuff, NuGet 1.1 has a lot of improvements to the PowerShell Console and scripts. I have to admit, a lot of it is over my head as I’m no PowerShell guru, but we’re now much more compliant with PowerShell conventions. Or so I’ve been told. Oisin has been driving a lot of improvements with our PowerShell support.

We also now execute commands within the Powershell Console asynchronously. This means that a long running command won’t freeze the rest of Visual Studio while it runs.

And many others!

There were a lot of other tweaks, bug fixes, and minor improvements that were not worth mentioning here, but they are all listed in our release notes.

Breaking Changes?

There are some minor changes that hopefully won’t break 99.9% of you. If you recall, we made our PowerShell scripts fit with PowerShell conventions. If you have a package that calls one of these methods, your package might need to be updated.Here’s the list of changes we made:

  • Removed List-Package. Use Get-Package instead.
  • Get-ProjectNames was removed. Use Get-Project instead and examine the Name property.
  • Add-BindingRedirects was renamed to Add-BindingRedirect.

What’s next?

Our hope is to have a monthly point release, though we may adjust some iterations to be longer as needed. To see what we’re planning for the 1.2 release, check out this link of issues for 1.2 (note that by the time you read this, some of these features might already be implemented). We’re constantly refining our planning so nothing is set in stone.

For a small taste of what’s coming in 1.2, check out this video by David Ebbo showing a streamlined workflow for creating packages.

Get Involved!

I bet many of you have some great ideas on what we should and shouldn’t do for NuGet. We’d love to have you come over and share your great ideas in our discussion list. Or if you’re looking for other ways to contribute, check out our guide to contributing to NuGet.

Tags:

What others have said

Requesting Gravatar... Koistya `Navin Feb 12, 2011 7:41 AM
# re: NuGet 1.1 Released!
Nice job! :)
Requesting Gravatar... Gene Feb 12, 2011 8:39 AM
# re: NuGet 1.1 Released!
Got the VS 2010 Ultimate error you mention above. Uninstalled Nuget via the control panel. Now when I reopen VS it still says Updates (1), but nothing is listed.

If I attempt to reinstall Nuget from extension manager it says it is already installed.
Requesting Gravatar... Gene Feb 12, 2011 8:51 AM
# re: NuGet 1.1 Released!
Rebooted. Nuget still shows up as an update, still shows up in the list of installed packages though with the Uninstall button greyed out, and is no longer in the list of installed files under control panel.

Downloading and running the installer from codeplex still gives an error of:

VSIXInstaller.SignatureMismatchException: The signature on the update version of 'NuGet Package Manager' does not match the signature on the installed version. Therefore, Extension Manager cannot install the update.

Requesting Gravatar... haacked Feb 12, 2011 9:51 AM
# re: NuGet 1.1 Released!
Gene, you need to run VS as admin. Unfortunately, they don't support elevation yet when you want to perform such actions. This is noted in our list of Known Issues.
Requesting Gravatar... Gene Feb 12, 2011 10:43 AM
# re: NuGet 1.1 Released!
Ah... that did it. Thanks!

List of "Known Issues"? Read something before blindly installing software? Certainly not! I blame IIS Express for leading me into a VS-without-elevation fool's paradise.
Requesting Gravatar... Joe Feb 12, 2011 10:51 AM
# re: NuGet 1.1 Released!
Would be great if you could add c++ support.
Requesting Gravatar... Gabriel Rodriguez Feb 12, 2011 10:34 PM
# re: NuGet 1.1 Released!
Quick question for you Phil.

Is there a way, when creating a NuGet package, to have certain files put on the root of the solution instead of the bin folder?

I created a StackOverflow question about this, when it comes to installing Subsonic, about the T4 templates not being included in the package. Rob mentioned he wasn't aware of a way to push certain stuff to somewhere else other than the bin. Is there a work-around for this, or is this planned for a future release?

Thanks for such a cool tool!
Requesting Gravatar... Bats Ihor Feb 13, 2011 3:48 AM
# re: NuGet 1.1 Released!
Hmm... very nice update! thanks Phil
Requesting Gravatar... Tim McCall Feb 13, 2011 11:42 AM
# re: NuGet 1.1 Released!
Hi Phil,

Thanks for the hard work on NuGet. Quick question -- I have seen there is an open issue for being able to add c#/vb.net code files to a project that is dependent on the project type. I have a project, AttributeRouting, that uses web activator to register routes using a c# _AppStart file. I'd love to be able to add a vb.net version of the _AppStart file for vb.net projects. Any plans to support this scenario, or have I missed something in the recent releases?

Thanks!
Requesting Gravatar... Tom Feb 13, 2011 4:57 PM
# re: NuGet 1.1 Released!
What about having the option to strongly name the assemblies as part of NuGet?
Requesting Gravatar... André Castro Feb 13, 2011 6:20 PM
# re: NuGet 1.1 Released!
Great, I'm glad to see that Nuget is growing like this, first the gallery and now this. Keep up the good work Phil!
Requesting Gravatar... Marc Feb 13, 2011 9:06 PM
# re: NuGet 1.1 Released!
Phil,

Very cool stuff going on here. Quick question... Is there currently a way in NuGet packages to select the version you want to use or download?

For example, some users were having issues with WebHelpers 1.1 where 1.0 worked fine... As it is now I don't think there is a way to allow them to choose which version ?
Requesting Gravatar... Simone Chiaretta Feb 13, 2011 9:21 PM
# re: NuGet 1.1 Released!
My installation fails in a pretty strange way: no error messages, but then when VS restarts it NuGet is still the old one.
I also uninstalled it, but when I install, it doesn't give errors, but when restested NuGet is not there.
Any ideas?
Requesting Gravatar... BlueCoder Feb 13, 2011 10:39 PM
# re: NuGet 1.1 Released!
I have VS 2010 SP1 and NuGet update worked well for me Thanks!
Requesting Gravatar... Bjorn Coltof Feb 14, 2011 3:11 AM
# re: NuGet 1.1 Released!
Did you really have to run the app wizard for 54 times? I feel sorry for you...

OT: Love NuGet, need to sort this out for within my company...
Requesting Gravatar... Developer Seer Feb 14, 2011 5:00 AM
# re: NuGet 1.1 Released!
Hi Phil, Nice, liked the video with the possible future, what are you thinking about local "Pack Clouds" will the command have a switch -Repository "X" for local?
Requesting Gravatar... haacked Feb 15, 2011 12:11 AM
# re: NuGet 1.1 Released!
Hi All, please ask NuGet specific questions in our discussion forums so that everyone can benefit from the answers.

I'll answer what I can here.

@Joe do you mean managed C++?

@Gabriel Root of the solution or root of the project? By default, NuGet packages are placed in a subfolder in the root of the solution. It would help to understand what exactly you're trying to solve.

@Tim I think we have an issue logged for this, but it's in our backlog. For now, I would create 2 packages, one for each language.

@Tom What do you mean by that?

@Simone post a question in our forums on this one please.

@Bjorn I do a lot of testing. 54 is way too low as I sometimes clear them out. :)

@Developer Seer "Pack Clouds"? What is that?
Requesting Gravatar... iadvize Feb 15, 2011 11:16 AM
# re: NuGet 1.1 Released!
great update, i have managed to install it successfully and i would like to take this opportunity to thank you for all of your hard work on this
Requesting Gravatar... Chistes Feb 15, 2011 7:56 PM
# re: NuGet 1.1 Released!
Finally! :) I updated it with no problems, great stuff.
Requesting Gravatar... Zach Feb 16, 2011 1:58 AM
# re: NuGet 1.1 Released!
I only played with the 1.0 a bit, but had a need to install a spell checker today so I updated to 1.1 and checked NuGet. I found a ton more packages including "Spell Checker". The only thing that was a bit confusing, was know what is FREE and what is Trial and/or Paid. I would be nice if it showed this information on the right hand side of the Extension Manager, versus following the link to a web page. I was also curious how to tell from browsing Extension Manager, what the requirements of each package are (e.g. .NET 4.0, VS 2008+, etc...). This also seems like it would be nice info to put on the right hand information panel. All in all, NuGet and the Extension Manager are great!
Requesting Gravatar... Fabian Feb 18, 2011 5:37 PM
# re: NuGet 1.1 Released!
realy nice update! thanks a lot

fabian
Requesting Gravatar... Alejandro Feb 19, 2011 7:41 PM
# re: NuGet 1.1 Released!
@haacked, like @Tom, I want to also know if the assemblies being pulled down via NuGet actually signed.

Sometimes they are not signed and then causes problems with our solutions. We end up having to recompile them ourselves and also add in AllowPartiallyTrustedCallers attribute. Not sure if this is something that is out of your control.
Requesting Gravatar... Owen Davies Mar 10, 2011 7:02 PM
# re: NuGet 1.1 Released!
Awesome update! Installed and happy, now to upgrade to the Visual Studio 2010 sp1, hope they play well together.

What do you have to say?

(will show your gravatar)
Please add 2 and 2 and type the answer here: