Let’s start with NuGet. Why should you, the coding guy and gal, care about NuGet?
You mean besides the fact that Brian has made it almost painfully easy to get his very cool WiimoteLib and ThinkGearNET libraries via it. Besides the fact the NuGet is opening the floodgates to the vast reservoir of .Net third party and open source libraries, making the adding of them to your project just a right-click away? How about making it easy for you to share your projects, binaries or code, as Brian has, with the world? Finally that it’s not owned or controlled by Microsoft, but instead the new OuterCurve open source incubation foundation?
As an added bonus, besides making his libraries available via NuGet, Brian also “teaches us to fish.” Using the experience of making his libraries available, he shows all of us how to do it ourselves.
Haven’t heard of WiimoteLib and ThinkGearNET? WiimoteLib is a .Net library for the Wiimote (Funny that). ThinkGearNET is a .Net library for the Neurosky Mindset headset (Think “very cool, wear on your head and read your thoughts to control your PC” device).
“With the official release of NuGet and the NuGet gallery, I decided to try it all out by uploading the current versions of WiimoteLib and ThinkGearNET to the gallery. The process was pretty smooth, but I learned a little bit along the way which I thought I’d share.
So what’s NuGet?
From their own page: NuGet (formerly known as NuPack) is a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development.
In short, this means you can right-click and add a reference to a third party library without having to download it yourself, extract it, locate it manually on your drive, deal with dependencies, etc. All of this is handled automatically, as is finding and integrating new versions of those libraries with your projects.
NuGet as a User
NuGet as a Package Developer
If you are the developer of a third party library, getting it up to the NuGet Gallery for the rest of the world to consume is pretty simple. Full documentation on all of the advanced features is located on CodePlex, but I’m going to explain the basics using WiimoteLib as an example.
NuGet is still very shinny and new and you can expect to be hearing a great deal more about it in the coming year. Simply put, this NuGet will be THE way you add third party libraries to your projects.
Here’s a few more links you might find interesting:
- Managed Library for Nintendo's Wiimote
- Uploading Packages To The NuGet Gallery
- Sharing NuGet packages with the world is now just an NuGet.Org away… or The NuGet Gallery and package submission is now live at NuGet.Org!