NuGet for the Win!

For years I’ve been trying hard to fight the perception of Enterprise Library as a monolith. Yes, there’s a lot of functionality baked in EntLib. However, you don’t have to use it all. In the early versions (1.0 – 4.1) you could always delete the binaries you didn’t care about after install. In v5.0, we redesigned the installer to allow à la carte installation where you could pick only specific blocks to be installed. This helped a bit, but not much. Today, continuing in my mission to prove that EntLib is not an “all-or-nothing” deal, we are giving you a set of individually packaged pluggable components targeting both .NET and Silverlight platforms, officially released via NuGet. You can install them from the NuGet public repository or host them in your private repositories.

EntLib NuGet dependency map - click to enlarge

This coincides with our today’s release of the new Enterprise Library Silverlight Integration Pack, for which we’ve selected NuGet to be the primary ship vehicle. The dependency map above depicts the interdependencies of the packages. Most importantly, users now can pick the package they care about and NuGet will automatically install any necessary dependencies and project references. As you install the packages you'd like, the configuration tool will automatically present you with the configuration options on a package by package basis. By the way, the config tool is available via the Visual Studio Extension Gallery.

If you are new to NuGet, I suggest you watch this episode of the HaaHa Show by the energetic duo of Scott Hanselman and Phil Haack from MIX11. NuGet provides a flexibility we need. It is also very easy to use – both from the package consumption perspective and authoring perspective.

Have fun and don’ t forget to tell us what you think.