From the project home page:

What

Lightweight NuGet packages with reusable source code extending core .NET functionality, typically in self-contained source files added to your projects as internal classes that can be easily kept up-to-date with NuGet.

Why

Who doesn’t have an ever growing and ever less cohesive miscellaneous collection of helpers, extension methods and utility classes in the usual “Common.dll”? Well, the problem is that there’s really no good place for all that baggage: do we split them by actual behavioral area and create “proper” projects for them?

In most cases, that’s totally overkill and you end up in short time with the same pile of assorted files as you try to avoid setting up an entire new project to contain just a couple cohesive classes.

But, it turns out that in the vast majority of cases, those helpers are just meant for internal consumption by the actual important parts of your code. In many cases, they are just little improvements and supplements over the base class libraries, such as adding missing overloads via extension methods, adding factory methods for otherwise convoluted object initialization, etc. It’s almost inevitable that as the .NET framework and its languages evolve, existing APIs will start to look dated and lacking (i.e. lack of generics from v1 APIs, or eventually lack of async-friendly Task-based APIs once C# 5 is with us, etc.).

But with the advent of NuGet there’s a new way to maintain, evolve and share those useful little helpers: just make them content files in a NuGet package!

And thus NETFx was born: a repository of the source and accompanying unit tests for all those helpers, neatly organized (under the Extensions folder in the source tree, by target namespace being extended), deployed exclusively using NuGet, and licensed entirely under BSD for everyone to use and contribute.

How

You install NETFx nugets via the Add Library Package Reference dialog (this is easiest, since the individual package ids are fairly long and organized by extended namespace):

image

Note that you don’t get a single monolithic gigantic “NETFx Package”, but rather you get to pick precisely what you need and nothing more.

And unlike most nugets, what you always get from NETFx is the actual source, as internal classes (the point of helpers!) that you build together with your own source. Need to debug it? Found a bug? No problem! The source is right *there* for you to see, patch or whatever:

image

 

And every NETFx has its own place for Source + Unit Tests so that anyone can read the tests and see how to use a class, contribute patches and improvements for existing ones, or even send a pull request for a new one.

Publishing new NETFx nugets has been made so straightforward that a new one can pop-up in http://nuget.org in about 15’ (time it takes to write an extension method and its unit tests).

 

The list is already fairly extensive, and growing all the time.

 

Read our documentation to get involved and contribute fixes or new netfx extensions! We even have a project template to make the entire process enjoyable Smile

 

This project is sponsored by Clarius Labs.

Last edited May 20, 2011 at 3:36 PM by dcazzulino, version 1

Comments

No comments yet.