I still hate NuGet

So, I’m already annoyed in finding out that, a) when you try to upgrade Windows 8 RC to RTM, there is no upgrade apparently, just a new install, b) Johnny the idiot developer forgot a check in and lost a day’s worth of work.

Fine.  But what I still hate about NuGet is how fundamentally broken it seems to be, at least when it plays with TFS.  I have the ‘disable integration’ nuget config setting set to false.  I tell it to download any missing packages (and of course there are missing packages, since I’m refreshing from TFS the entire source code as it is a new Windows install) upon build.  Does it?  Nope.  I go to manage packages for solution and use the pretty little GUI to manage packages.  Does it allow me to properly install packages in various projects?  Nope.  I go to the command line and tell it to fucking install MvcContrib.  It tells me it is already installed.  I tell it to fucking uninstall, it says it does.  I absolutely fucking tell it to install MvcContrib, it says it is already installed.

ANYTIME you pull code from a repository on a clean machine, it should ALWAYS build AUTOMATICALLY (there are rare exceptions, and just because it builds doesn’t mean it will run (you might have to install, say SQL Server, first).  I guess Visual Studio 2012 is supposed to handle all of this for you (theoretically, VS 2010 is as well, but that also never worked, recently I had to uninstall Nuget management completely from a solution at work because of it), except it doesn’t work right.

Why is that?  Hard to tell.  In some cases, it is because there is a pending check in on package files, and apparently it won’t let you anything until you do a check in.  Also, when you have a shared project, it appears that if you try to make changes to it in the ‘wrong’ solution, the directory where it stores packages is in the ‘wrong’ place and so it gets confused.


So, I’m probably going to go back to the old fashioned way of manually putting all of my DLLs into a directory that can then be put in source control, so that I can actually get to work on replacing the lost day’s worth of work instead of trying to get Nuget to fucking d0 what it is supposed to do.

posted on Sunday, August 19, 2012 7:21 PM Print
# re: I still hate NuGet
8/20/2012 7:29 AM
Sounds like the problem is between the seat and the keyboard...

# re: I still hate NuGet
8/20/2012 9:44 AM
Weeeee, I am not alone.
# re: I still hate NuGet
8/20/2012 10:17 AM

Yes, I agree there is a lot of that.

But I would say that's part of the point. If I click the little checkbox to add a package to a project, it shouldn't just tell me "Can't add reference."
# re: I still hate NuGet
8/21/2012 10:58 AM
I was being facetious, we've run into the exactly the problems when updating packages...
# re: I still hate NuGet
Felice Pollano
10/14/2012 2:05 PM
Definitely agree with you. I can smell the old dll hell facing up again. I love the Lib folder, a tracked one.
# re: I still hate NuGet
2/9/2013 8:39 AM
Why did Microsoft include the nugget package manager in visual studio when it does not work? It says packages are installed that are not. The uninstall button disappear. Such a waste of time fighting this disaster.

What a piece of junk!
# re: I still hate NuGet
7/17/2013 9:34 AM
We have a dozen seasoned, bright, intelligent, ninja-like developers here with a variety of skill-sets and years of experience on the Microsoft stack. Nuget is the bane of our existence.

We also find ourselves muttering "fucking-this" and "fucking-that" on an almost daily basis.
# re: I still hate NuGet
8/22/2013 2:42 AM
Late to this party, but fully agree with the sentiment expressed. My rule of thumb is to avoid any technology where the name does not match the primary function.

Nuget sounds like a brand of Yoghurt or confection.
Github sounds like a Bug Kill Spray.
Rhino Mocks .. conjures up all sorts of images, none of them software related.

# re: I still hate NuGet
Wandering Dude
12/31/2013 1:33 PM
A year and a half later and nuget is still broken, buggy crap. Unfortunately, the cult mindset in the windows ecosystem ( usually, there is ONE tool only, a la Visual Studio, that you must use ) has declared it the anointed package manager.

I had a major nuget screw-up today and have banned it from future project use. It adds very little value for a huge amount of headache.
# re: I still hate NuGet
Adrian Thompson Phillips
2/11/2014 6:04 AM
I have endless issues with NuGet, besides all the bugs. Centralising everything into packages has as many pros and cons as keeping everything distributed. It's a dumb cycle, where we can look back in 6 years and say how crap something was when we centralised/distributed (delete as appropriately fashionable) everything.

Sometimes it's just best to download the latest DLL/source or JavaScript file and 'put it somewhere sensible' or 'build it the way you want it'.
# re: I still hate NuGet
3/14/2014 10:04 AM
Fear and Loathing. That's what I've been feeling every time I start a new workspace, ever since we've had to start using NuGet packages (it's apparently the only way to get certain Google Email APIs). It's completely hit and miss: sometimes the solution builds right away, but more often than not it's either:
"The remote name could not be resolved: ''",
"The build restored NuGet packages. Build the project again to include these packages in the build."

So I build it again. And again. And I rebuild it. Again. And again. NUGET BLOWS GOATS.

We tried to get away from NuGet by uninstalling the packages, then checking the Google APIs into our own "lib" dir. I'm not quite sure what went wrong, but it didn't work (I had an intern do it, which might have been my first mistake). Anyways, at least I know we're not the only ones having issues! Misery loves company, or whatever.
# re: I still hate NuGet
6/26/2014 10:00 AM
2014 and absolutely fuck NuGet. It is just not production ready. It probably works only for tiny-winy ASP.NET websites. Fuck that NuGet thing, it is bloated in many ways.
# re: I still hate NuGet
6/26/2014 10:19 AM

But how do you really feel?
# re: I still hate NuGet
negative one
7/4/2014 6:29 PM
Glad to hear i'm not the only one.

Nuget is supposed to increase productivity by managing all of the dependencies for you vs. the old tried and true method of updating one component at a time and testing.

But it doesn't work because...
a - it's buggy and unintuitive (why does the gui go ahead and install dependencies without asking? ) (it seems to get into circular dependency 'race' conditions of some sort that means that you just can't update anything)
b - it still depends on publishers maintaining the lists of dependencies correctly - no system will ever overcome this

The end result is that you still end up managing dependencies manually but having to fight through the nuget command console commands to essentially do what you would have had to do anyway... manually copy assemblies. You end up feeling like it's a total waste of time.

#1 rule of using nuget - check in everything before installing a new package and be prepared to revert.
# re: I still hate NuGet
Adrian Thompson Phillips
8/13/2014 9:43 AM
I hate NuGet too.

1. The paging in the management screen doesn't even work.
2. It can get easily mixed up with what you've actually got installed and make a complete balls-up of showing this.
3. You're at the mercy of random yahoos building packages in debug mode and flooding your tracing messages.
4. You end up with all sorts of weirdness when everything relies on a different version of Newtonsoft JSON.
5. If I want to install something like Bootstrap in my MVC project, it scatters the installation to the poorly named default folders ('/Content', '/Scripts' and '/fonts' why the lowercase 'f'!), instead of a nicer 'css', 'js', 'img' etc.
6. You're at the mercy of random yahoos actually bothering to build new packages when the software updates.
7. You're at the mercy of random yahoos actually building it correctly.
8. You're at the mercy of random yahoos raping your config files.

... and take a deep breath.
# re: I still hate NuGet
10/26/2015 9:56 AM

I am happy found that blog so fast to get rid of my anger about nuget promptly.

I HATE N NUGET and the people who think they can manage complexity with complexity. FUCK!!! Sorry...but I feel better now.

The old truth of simplicity has been catched by the system theoriest early and it means....reduction of complexity does not mean simply hide the means break it up and make it reducing it.
But this phenomen is visible in the software engineering field at all. Consider what it needs today to run a tiny website with javascript....hahahha. Its getting worse...

I just run into the nuget lockin during my efforts to compile mono and monodevelop on a windows machine. Visual Studio 2015-2013 and a separate MSBuild installation side-by-side.
Usually no problem when you do nont use nuget. If someone knows a good way to handle dependecy and version management transparently with Visual Studio and the whole bunch of libraries and open source repos/forks I would be greatful.

Okay...i go ahead....winning the game..

Post Comment

Title *
Name *
Comment *  
Please add 2 and 4 and type the answer here: