Microsoft | patterns & practices | Developer Network | Enterprise Library | Acceptance Testing Guide | Personal Site
Five months ago we formulated our vision for the new version of Enterprise Library. Now we are delivering on it. I’m excited to announce the latest release of Microsoft Enterprise Library: version 6.
Enterprise Library is made up of application blocks, each aimed at managing specific crosscutting concerns. Crosscutting concerns are those tasks that you need to accomplish in several places in your application. When trying to manage crosscutting concerns there is often the risk that you/different team members will implement slightly different solutions for each task at each location in your application, or that you will just forget them altogether. Writing entries to a system log file or Windows Azure table storage, dealing with transient error conditions and validating user input are typical crosscutting concerns. While there are several approaches to managing them, the Enterprise Library application blocks make it a whole lot easier by providing generic and configurable functionality that you can centralize and manage.
Enterprise Library application blocks are standalone. They work well together, but you only have to get the ones that you need. They are also customizable and extensible, so you can extend them to provide what you need in your specific contexts. You can choose to use it as a seedwork and grow your own library, which you can later reuse and sell. We ship under MS-PL, so this is allowed.
As usual, we are shipping not only the binaries, but also the source code and test cases (unit, integration). To see the details of what have changed and deployment instructions, see the Release Notes.
The diagram below depicts all application blocks and their dependency on the Common package (needed to support configuration tool experience) and optional interblock dependencies.
Additionally, in the next couple of weeks we’ll be shipping a reference implementation and several Quickstarts to showcase how the Enterprise Library can be used in certain scenarios.
Our primary shipping channel for code is NuGet. There are 27 NuGet packages. Search for Unity or EntLib inside NuGet Package Manager.
Additionally, we’ve made all deliverables available as self-extractable zip packages via Microsoft Download Center.
Our guidance deliverables are available on Codeplex today. After post-production work is completed, they will be published on MSDN. You will also be able to order the hardcopies of the Developer’s Guides or get them in PDF, Epub or Mobi formats.
Whether you are experienced with Enterprise Library or new to it, we have guidance to help you make the most out of this release:
The table below will help you orientate:
Strictly speaking, no. If you are happy with Enterprise Library 5.0, you can continue using that version. If the new and improved features of Enterprise Library 6.0 appeal to you, then you would want to migrate. Note: Enterprise Library 6.0 targets .NET4.5 framework only. Enterprise Library 5.0 works fine on .NET3.5, .NET4.0 as well as .NET4.5. So, in order for you to move to .NET4.5, you don’t have to upgrade.
Many people provided feedback on our vision, our backlog and CTPs. We thank you all.
If you’d like to provide further feedback, please post it via the Codeplex forum. This is where you can also get support. We have a dedicated sustained engineering team monitoring the forum regularly. To report a bug, use online Issue Tracker.
If you have a story of how your team leverages EntLib and would like to share it with the broader community, please contact us. We’ll be happy to work with you on a case study.
The Caching Application Block has been marked as deprecated in v5 and removed in v6.
Its functionality is now built-in to versions 4.0 and 4.5 of the .NET Framework. You should consider using the .NET System.Runtime.Caching classes.
Also, Windows Azure includes Windows Azure Caching and Windows Azure Shared Caching as two alternative approaches to caching to use in your Windows Azure applications.
AppFabric for Windows Server includes caching features for Windows Server 2008 and Windows Server 2012.
@Maciek, please see this update on the autoscaling story and Wasabi - http://bit.ly/10zldlA
an overload of putting values like
defaultDB.AddInParameter(sprocCmd, "state", DbType.String, "New York");
it seems that now , i must be careful cuz params insertion to ExecuteSprocAccessor is by order or apperaence ( very dangerous)
Hi, i was using EL5 caching which depends on common.dll. Now, I want to upgrade to EL6 and use other application blocks and i think i can continue to use EL5 caching also, but does work with EL6 common dll?
Not out-of-the box. You can certainly port it by doing the same kind of refactoring we've done for the rest of the blocks. The runtime objects were not affected, but you'd have to change the container-based factories from v5 into the (arguably simpler) approach from v6.
On a different note, is there a reason for not migrating to the caching support in the .NET framework?