This is related to an internal discussion -
. The public details are:
Packages should use short name folders by default (ie. NHibernate instead of NHibernate.22.214.171.12400). This is the same behavior as the override for nuget.exe install nhibernate /x
The scenario for most people is that in one solution they only want one version of a package. So having the version number doesn't make sense and in fact wreaks havoc on source control. I still haven't thought of a valid case where in a single solution you
would need two different versions of a package. 90% of the time you want it to be global to the solution.
Allow for someone to put a switch override in to use long names.
Short name folders will slow down the code churn on source control. When we update packages, the current package folder is deleted and readded. Because we are using short names, source control in effect doesn't see that we deleted and readded a folder (because
it was done in one operation between check ins). It just sees that we've made changes inside of the folder.
This is related to:
This will help with:
Update 4/17/2012: So summarizing the merge hell aspect of long named folders applies to package restore as well since it affects your .csproj (.vbproj) files. It's even worse if you check the packages folder in. You would still need to deal with the packages.config
file and merging, I don't see getting around that.