Nuget installs old versions of package dependencies by default.
This requires an "update-package" right after "install-package".
Examples:
Create a new empty asp.net mvc application and:
Install-Package Microsoft.AspNet.Web.Optimization
- Installs WebGrease 1.3.0, although 1.5.2 is available
Install-Package Backbone.js
- Installs jquery 1.7.2, although 2.0.3 is avalable
- Installs underscore 1.3.3, although 1.5.1 is available
In both cases, doing an "update-package" upgrades the packages to the latest version after install.
If versions are not specified, the default should always be installing the latest version.
VS 2012 Professional, Nuget 2.6.40627.9000
Comments: Nuget shouldn't apply logic just for fear that someone may have screwed up. I disagree. From the beginning, we always design NuGet to be as safe as possible so as to avoid breaking people's projects. Having said that, I think your proposed switch to opt in the "aggressive version picking" behavior is an interesting idea.
This requires an "update-package" right after "install-package".
Examples:
Create a new empty asp.net mvc application and:
Install-Package Microsoft.AspNet.Web.Optimization
- Installs WebGrease 1.3.0, although 1.5.2 is available
Install-Package Backbone.js
- Installs jquery 1.7.2, although 2.0.3 is avalable
- Installs underscore 1.3.3, although 1.5.1 is available
In both cases, doing an "update-package" upgrades the packages to the latest version after install.
If versions are not specified, the default should always be installing the latest version.
VS 2012 Professional, Nuget 2.6.40627.9000
Comments: Nuget shouldn't apply logic just for fear that someone may have screwed up. I disagree. From the beginning, we always design NuGet to be as safe as possible so as to avoid breaking people's projects. Having said that, I think your proposed switch to opt in the "aggressive version picking" behavior is an interesting idea.