Microsoft Enterprise Library

The Microsoft Enterprise Library is a set of tools and programming libraries for the Microsoft .NET Framework. It provides APIs to facilitate proven practices in core areas of programming including data access, logging, exception handling and others. Enterprise Library is provided as pluggable binaries and source code, which can be freely used and customized by developers for their own purposes. It also ships with test cases and quickstarts.
Application Blocks.
Each application block addresses a specific cross-cutting concern and provides highly configurable features, which results in higher developer productivity. The Application Blocks in Enterprise Library are designed to be as agnostic as possible to the application architecture, for example the Logging Application Block may be used equally in a web, smart client or service-oriented application.
Microsoft have produced a number of other deliverables that leverage Enterprise Library Application Blocks, including the Web Service Software Factory and Smart Client Software Factory.
Utilities.
In addition to the Application Blocks, the standard Microsoft distribution of the Enterprise Library includes:
Version history.
There have been several versions of the Microsoft Enterprise Library:
Unity 3.5 Portable Class Library Preview.
Unity is the dependency injection component of Microsoft Enterprise Library, which grew out of the Dependency Injection Application Block. It later became a standalone library and continues to be maintained by the community. Version 3.5, released in April 2014, adds support for Xamarin.
Version 6.0.
Microsoft Enterprise Library 6 was released in April 2013.
New features include:
This release has also retired the following 3 blocks:
Version 5.0.
Microsoft Enterprise Library 5.0 was released in April 2010, announced by Grigori Melnik.
New features include:
Version 5.0 Silverlight Integration Pack.
A port of Microsoft Enterprise Library 5.0 to Silverlight. Released in May 2011, it includes the following blocks:
Version 5.0 Windows Azure Integration Pack.
Released in December 2011
Unity 3.0.
Released April 2013.
Unity 2.1.
Original released in May 2011, with an update in August 2012.
Version 4.1.
This release of Enterprise Library in October 2008 is a service releases that includes the following:
The Application Block Software Factory and the Strong Naming Guidance Package are not included in this release but are available as a separate download. Thus, there is no longer a dependency on Guidance Automation Extensions (GAX).
Version 4.0.
This release of Enterprise Library in May 2008 includes the following:
Version 3.1.
In May 2007, Enterprise Library 3.1 was released with minor enhancements to the Validation and Policy Injection Application Blocks.
Version 3.0.
In April 2007, Enterprise Library 3.0 was released. It contains new Application Blocks, a new Application Block Software factory designed to simplify the development of new Application Blocks and extensions, and new features providing better integration with .NET Framework 3.0. The 3.0 release of Enterprise Library contains the following Application Blocks:
Version 2.0.
In January 2006, a new version of Enterprise Library was released that targeted .NET Framework 2.0. The most significant change in this release was that the Configuration Application Block was removed, and the blocks were updated to use .NET's improved System.Configuration capabilities. This release also included significant improvements to the Logging Application Block, and much of the Security Application Block was removed due to similar capabilities provided in .NET Framework 2.0. The .NET 2.0 release of Enterprise Library contained the following Application Blocks:
Version 1.1.
Two releases of Enterprise Library were released for .NET Framework 1.1. The first was released in January 2005, followed by a minor maintenance release in June 2005. The .NET 1.1 releases of Enterprise Library contained the following Application Blocks:
Future.
Ron Jacobs, a Microsoft Evangelist, described the purpose of Enterprise Library as "filling in the gaps" of .NET development between releases of the framework. As the framework continues to advance, developers are demanding more productive development libraries.
At the same time, Microsoft platforms evolve and certain scenarios, initially addressed by the Enterprise Library, are now being supported by the platforms themselves. In this case, the patterns & practices team uses the graceful retirement process to deprecate some parts.
Microsoft continues to promote Enterprise Library for enterprise/line-of-business development, and even many Microsoft products as well as projects within Microsoft IT use it extensively.
Starting November 2013, Microsoft fully open-sourced Enterprise Library and all of its application blocks. They now accept community contributions. The latest releases of SLAB1.1 and Unity 3.5 are developed in close collaboration with the community.
In August 2015, Microsoft posted they were handing Unity Dependency Injection over to new owners (Pablo Cibraro and Pedro Wood) into a new GitHub repo. At the same time, the patterns & practices - Enterprise Library home web site on CodePlex, announced that the remainder of the application blocks will no longer be developed. However, the source will continue to be available.