Enterprise Library 6.0

I’ve written on my blog before about the Microsoft Enterprise Library.  Enterprise Library has a long and accomplished history of providing architectural guidance, recommended practices, and reusable components to help developers, architects, and IT professionals efficiently build line-of-business (LOB) systems. Over the years, it's achieved a significant reach, seeing over 4 million downloads and powering many industrial systems.

I’m excited to share that the patterns & practices team has just released Enterprise Library 6.0. This new version not only includes new reusable components (called “application blocks”), but also extends the library’s integration with other technologies (such as with ASP.NET MVC and ASP.NET Web API) and simplifies its learning and usage.

While this 6.0 release is filled with great things to talk about, I want to highlight three in particular:

  • .NET 4.5 saw the introduction of the EventSource class, which dramatically simplifies the task of doing ETW tracing in managed applications (ETW, or Event Tracing for Windows, is a fast and scalable logging mechanism built into the Windows operating system).  Enterprise Library 6.0 includes the new Semantic Logging Application Block, which enables you to have the simplicity and power of EventSource while still utilizing log formats and storage facilities you’re familiar with.  With this block, you can easily direct your log messages to a variety of destinations, such as rolling flat files, SQL Server databases, or Windows Azure table storage, while still maintaining the structured nature that ETW and EventSource provide.  This structure makes it much easier to later aggregate, query, and process the information you've captured.
  • LOB apps are more and more likely to be running in distributed environments, where intermittent error conditions are not uncommon.  The updated Transient Fault Handling Application Block, which helps to provide resilience against such conditions, has been updated with new detection strategies and with support for the new asynchronous programming features of C# 5 and Visual Basic 11, enabling increased scalability.  It’s also now available as a portable library for use with .NET 4.5, Windows Store apps, and Windows Phone apps.
  • Previous releases of Enterprise Library have included Unity, a lightweight and extensible dependency injection container that facilitates building loosely coupled applications.  With this release, it’s seen several important enhancements, including support for Windows Store apps.

As has been the case with Enterprise Library in the past, you can easily add to your projects just the blocks you need by using the NuGet package manager in Visual Studio:

You can check out the Enterprise Library at https://entlib.codeplex.com.

Namaste!

Follow me on Twitter at https://twitter.com/ssomasegar.

Comments

  • Anonymous
    April 25, 2013
    Why don't you support .NET 4? Our customers are using 3.5 and won't update any soon.

  • Anonymous
    April 25, 2013
    yea!!! time to start playing again.

  • Anonymous
    April 25, 2013
    @Ladislav EntLib6 and Unity3 rely on the .NET framework features which were introduced in v4.5. For example, the new Semantic Logging Application Block builds on top of the System.Diagnostics.Tracing.EventSource (msdn.microsoft.com/.../system.diagnostics.tracing.eventsource.aspx) for production logging, while Unity3  uses the new Reflection API (msdn.microsoft.com/.../system.reflection.typeinfo.aspx).

  • Anonymous
    April 26, 2013
    The comment has been removed

  • Anonymous
    April 26, 2013
    The comment has been removed

  • Anonymous
    April 26, 2013
    The comment has been removed

  • Anonymous
    April 27, 2013
    Your going to get a fat bonus this year, S. Way to produce the hits!!

  • Anonymous
    April 29, 2013
    Great formalize techniques that are proven failures.  I am sure everyone wants  successes like Visual Studio, Bing and Windows 8 along with unhappy users that leave comments on your blog.

  • Anonymous
    April 29, 2013
    The comment has been removed

  • Anonymous
    May 01, 2013
    nice

  • Anonymous
    May 04, 2013
    great! Time to coding

  • Anonymous
    May 05, 2013
    Dear mr boss, I just recently had found a bugg in the well known language c#. When you want to delete a row from your database through a passed datatable u just CANNOT, WHY I CANNOT EXPLAIN. You have to use a datagridview, WHY I CANNOT EXPLAIN. Dear mister boss, please solve this problem Regards Kustekakkesoep

  • Anonymous
    May 06, 2013
    erexa

  • Anonymous
    May 06, 2013
    I use this library only for connection with oracle, maybe i have undervalued it?

  • Anonymous
    May 06, 2013
    Hi.  I did a cursory review of material currently available at http://entlib.codeplex.com (just reading titles and categories).  I'd like to request that the icon/tag <==NEW== be removed from being adjacent to the title links to articles, videos and resources that are two years old or older, i.e. almost everything that is currently tagged "new".  In the world of software development and the Internet, you're pushing-it to even dare to regard something 6 months as deserving of the tag "new".  Two or three years old? Not so much.

  • Anonymous
    May 06, 2013
    but all is true. Microsoft shifts major POS recently... gets fat bonuses for nothing. Balmer must be sooo proud.

  • Anonymous
    May 06, 2013
    @EricTN Fair enough, fixed now. The icon was one of those legacy artifacts that you end up glazing over after so many updates to the wikipages. Thanks for bringing it up. Any other feedback on the release itself?

  • Anonymous
    May 06, 2013
    ZX

  • Anonymous
    May 07, 2013
    Does the Data Block now support the async/await keywords? I do not see any mention of this in the release notes.

  • Anonymous
    May 07, 2013
    @kktingle We do support APM async methods in DAAB already, but we do not take advantage of the newer TAP versions of the ADO.NET methods in .NET 4.5. Feel free to add/vote on this story to our uservoice site for future updates - http://entlib.uservoice.com

  • Anonymous
    May 07, 2013
    This is probably why I've been using ReflectInsight for the last few months. insightextensions.codeplex.com

  • Anonymous
    May 20, 2013
    The comment has been removed

  • Anonymous
    May 21, 2013
    @"I have a problem with downloads": This link should give you the sorted list of all downloads: www.microsoft.com/.../search.aspx You can then sort it a different way if you like, as well as apply additional filters around download type, product category, operating system, etc.  I hope that helps.

  • Anonymous
    May 21, 2013
    Hi, thanks a lot !! When I use www.microsoft.com/.../default.aspx and I choose from menu Software  all downloads I always land on search.microsoft.com/.../DownloadResults.aspx where there is no possibility to sort by anything. Anyway url which you send works as expected - anyway its strange that there are two search downloads mechanizm with default set to limited one. ;) Adam

  • Anonymous
    May 24, 2013
    So. .. rest assured you can come back in a 7 years from now on and they will be discussing the same things over and over again.

  • Anonymous
    June 02, 2013
    I wonder how useful it really is! As of now MS has started terminating all certifications up to  .NET 4.0. They are not even getting upgraded. On the other hand they are pushing html5 and javascript with extreme madness! So its quite evident that MS is not really interested in .NET anymore. Why the developers are supposed to learn such complex APIs just to throw them away in couple years at the whim of some native code lovers inside MS?

  • Anonymous
    June 18, 2013
    Do you know how to use the Oracle with Library version 6.0.  I had tried so many places, I am not able to find.  I have used the Library version 4.1 and used oracle.  Your help  in this will be appreciated.

  • Anonymous
    June 19, 2013
    The comment has been removed

  • Anonymous
    July 03, 2013
    Ent. Lib 6.0 is easy to learn and implement.  It appears Ent. Lib app. blocks are for win/web apps and not for win 8 store apps.  Nuget EntLib Common/Exception/Validation block installation to a Win 8 store app is unsuccessful with error.  An error "Microsoft.Practices.EnterpriseLibrary.Common.dll" could be added.  The project targets '.Net Core' while the file reference targets '.NETFramework'.  This is not a supported scenario." appears in case we refer to dlls (just to check feasibility though) Please suggest how best Ent Lib 6.0 app. blocks can be used in Win 8 store app. Thanks in advance -ursri

  • Anonymous
    July 04, 2013
    @ursri Thank you for your interest in EntLib. The only two blocks which can currently be used for Windows store app development are Unity and Transient Fault Handling Application Block (see the systems requirements - entlib.codeplex.com/wikipage). To help us prioritize future work on other application blocks, please describe your scenarios on http://entlib.uservoice.com

  • Anonymous
    July 04, 2013
    Thank Grigori for the guidance.   I shall work towards Transient Fault Handling Application Block and its objective.  I was wondering will there be any exception handling/validation/logging app. block support for .netcore/Win Store apps near future.  Please suggest. Thanks in advance -ursri

  • Anonymous
    July 05, 2013
    ursri, that is something we are considering. Can you elaborate on the concrete scenarios you care the most about to be supported? The uservoice site I referred you to earlier is the best place for that, as other users would be able to review them too and to comment/vote accordingly. All of those inform our future backlog.

  • Anonymous
    July 07, 2013
    Thank for the reply Grigori.   I shall mention it in http://entlib.uservoice.com. -ursri