December 8, 2014

Controlling Component Chaos with NuGet and Versioning

Version Control

So what is this NuGet thing anyway? Non-Microsoft developers can be forgiven for asking the question, but NuGet has become increasingly hard for Microsoft developers to ignore in the last few years. There aren’t many projects created in Visual Studio these days that don’t leverage one or more NuGet packages. As somebody soon giving a DevTalk on the subject of Controlling Component Chaos with NuGet and Versioning, trust me when I say that’s a good thing. I remember the pre-NuGet days all too well. I’d learn about some Great New Thing™ (GNT) that all the cool kids were using and positively cringe at the prospect of using it.

DevTalk NuGet

Why? Because getting started could be so painful! I could usually find the GNT easily with a little Googling, but that’s only the first step. Naturally, every project web site must have a different layout and provide its goodies in a different format, so the discovery process didn’t end until you’d sorted out how to download what you actually needed.

Then came the post-download hassle of running the installer—wait, do I really trust this unknown thing from some developer I’ve never met?!—or unzipping archives. The perusing of “readme” files was always “fun” too, trying to figure out which assemblies needed to be linked into the project and what other files had to be there for the ride (and in what directory structure).

But I do fondly remember the sense of accomplishment when I’d finally have everything ready to go. Followed by the great sense of frustration and crushing disappointment when the build process failed because GNT A turns out to require GNT B, which just happens to depend upon C, D, and E, and… You get the idea.

Nowadays, I pick the thingy I want to install and NuGet does it all, usually in seconds. And NuGet is also helpful when I need to update something later, bringing down all the other updates I’d otherwise have to find and install manually.

Seriously, if you’re not using NuGet, you’re falling behind the curve. Why not register for the webinar and take a sip from the NuGet fire-hose? See you there!