Third party .NET assemblies and libraries

Random thoughts about the impact of NuGet on .NET development.

Back to blog

I think its fair to say that NuGet has been resounding success for the .NET development community. It is an essential tool for piecing together any non-trivial C# application, be it web, desktop, or mobile.

NuGet has changed the way I approach integration of third party assemblies, either commercial or open source. My minimum requirements for any third party library/assembly are,

1. It can be installed and managed with a NuGet package from a public NuGet server
2. It reads any licence information from a file in the source tree
3. It has no dependency on Visual Studio itself
4. It is ‘Bin’ depoloyable – as much as I loved InstallShield script, the days of writing to HKEY_LOCAL_MACHINE with admin rights on install are thankfully over.

Lots of commercial products fall down on number 2 and 3 (DevExpress, PostSharp) as they often need to install a VS add-in for licencing and activation.

Even so, we are moving closer to the holy grail of having everything apart from the .NET SDK and Visual Studio included in the source tree simplifying the time it takes to setup a build or development environment from scratch.

As you read this far, you should follow me on twitter here.