Microsoft | patterns & practices | Developer Network | Enterprise Library | Acceptance Testing Guide | Personal Site
Last Friday I signed off on the last quality gates! Yesterday we had our Release Readiness Meeting, which gave a resounding GO to the Enterprise Library 5.0 and a round of applause to the team. As one of the directors concluded “It is a beautiful thing… Not just the product, but also how you’ve got there.”
And now… a drum roll, please. On behalf of the patterns & practices Enterprise Library team I am very excited to announce the world-wide availability of Microsoft Enterprise Library 5.0.
Enterprise Library is a collection of reusable software components (application blocks) designed to assist software developers with common enterprise development challenges (such as logging, validation, caching, exception handling, and many others). Application blocks encapsulate Microsoft recommended development practices; they are provided as source code plus tests and documentation that can be used "as is," extended, or modified.
Enterprise Library is intended for use by developers who build complex, enterprise-level applications. Enterprise Library is used when building applications that typically will be deployed widely and need to interoperate with other applications and systems. In addition, they generally have strict security, reliability, and performance requirements. The goals of Enterprise Library are the following:
Consistency. All Enterprise Library application blocks feature consistent design patterns and implementation approaches.
Extensibility. All application blocks include defined extensibility points that allow developers to customize the behavior of the application blocks by adding their own code.
Ease of use. Enterprise Library offers numerous usability improvements, including a configuration tool, powerful programmatic configuration support, intuitive interfaces, a simpler installation procedure that allows you to select only those application blocks you desire, and clear documentation, samples and hands-on labs.
Integration. Enterprise Library application blocks are designed to work well together or individually.
This major release of Enterprise Library contains many compelling new features and updates that will make developers more productive. There are no new blocks; instead the team focused on making the existing blocks shine, on testability, maintainability and learnability. The new features include:
– Major architectural refactoring that provides improved testability and maintainability through full support of the dependency injection style of development
– Dependency injection container independence (Unity ships with Enterprise Library, but you can replace Unity with a container of your choice)
– Programmatic configuration support, including a fluent configuration interface and an XSD schema to enable IntelliSense
– Redesign of the configuration tool to provide:
§ A more usable and intuitive look and feel
§ Extensibility improvements through meta-data driven configuration visualizations that replace the requirement to write design time code
§ A wizard framework that can help to simplify complex configuration tasks
– Data accessors for more intuitive processing of data query results
– Asynchronous data access support
– Honoring validation attributes between Validation Application Block attributes and DataAnnotations
– Integration with Windows Presentation Foundation (WPF) validation mechanisms
– Support for complex configuration scenarios, including additive merge from multiple configuration sources and hierarchical merge
– Optimized cache scavenging
– Better performance when logging
– Support for the .NET 4.0 Framework and integration with Microsoft Visual Studio 2010
– Improvements to Unity
§ Streamlined configuration schema
§ A simplified API for static factories and interception
§ The capability to add interface implementation through interception
§ Additional types of lifetime manager
§ Deferred resolution (automatic factories)
– A reduction of the number of assemblies
The detailed list of all changes is included in the Enterprise Library documentation and also online.
The Enterprise Library team tried its utmost to preserve the existing Enterprise Library APIs (v3.1 and higher). However, due to the redesign of the internals and the .NET Framework roadmap moving forward, there are some breaking changes. A full list is available here.
· Supported architectures: x86 and x64.
· Operating system: Microsoft Windows® 7 Professional, Enterprise or Ultimate; Windows Server 2003 R2; Windows Server 2008 with Service Pack 2; Windows Server 2008 R2; or Windows Vista with Service Pack 2.
· Microsoft .NET Framework 3.5 with Service Pack 1 or Microsoft .NET Framework 4.0.
For a rich development environment, the following are recommended:
· Microsoft Visual Studio® 2008 Development System with Service Pack 1 (any edition) or Microsoft Visual Studio 2010 Development System (any edition).
To run the unit tests, the following are also required:
· Microsoft Visual Studio 2008 Professional, Visual Studio 2008 Team Edition, Visual Studio 2010 Premium, Visual Studio 2010 Professional, or Visual Studio 2010 Ultimate edition.
· Moq v3.1 assemblies.
For the Data Access Application Block, the following is also required:
· A database server running a database that is supported by a .NET Framework 3.5 with Service Pack 1 or .NET Framework 4.0 data provider. This includes SQL Server® 2000 or later, SQL Server 2005 Compact Edition, and Oracle 9i or later. The database server can also run a database that is supported by the .NET Framework 3.5 with Service Pack 1 or the .NET Framework 4.0 data providers for OLE DB or ODBC.
For the Logging Application Block, the following are also required:
· Stores to maintain log messages. If you are using the Message Queuing (MSMQ) Trace Listener to store log messages, you need the Microsoft Message Queuing (MSMQ) components installed. If you are using the Database Trace Listener to store log messages, you need access to a database server. If you are using the E-mail Trace Listener to store log messages, you need access to an SMTP server.
If these dependencies are not met, you may not be able to use certain Enterprise Library features.
If you are new to Enterprise Library:
− read the Introduction to the Enterprise Library section of the documentation
− read and review examples from the Developer’s Guide
− download, compile and run the source code – study the code and the tests;
− practice the Hands-On Labs (the updated set of labs to be released by the end of April);
− watch the videos;
If you already know and love Enterprise Library:
− check out the change log for this release;
− upgrade to v5.0 – to help you with this task, we’ve written the Migration Guide;
− practice the updated Hands-On Labs (the updated set of labs to be released by the end of April);
− watch the videos;
Community support is provided via Enterprise Library Codeplex forum.
Customers can also obtain support through Microsoft Premier Support Services, but the code is considered user-written by Microsoft support staff.
We would appreciate feedback on any issues found, or any other general comments on this release.
To report a bug, use online Issue Tracker. Other feedback or questions can be posted on the Enterprise Library Codeplex forum.
We are looking for stories. If you adopt Enterprise Library on your project, please let us know – share your experience, join our advisory board, help us drive the next great release of the Enterprise Library. After all, Enterprise Library is driven and built by developers and for developers.
Video quality is not proepry.can u provide me with the good resolution video of Microsoft application block v5.?
Do the precompiled dll's from the install package target the 3.5 or 4.0 framework?
I'll inquire if a higher resolution video is available.
Precompiled and signed dll's target .NET Framework 3.5 SP1. They were tested on 4.0 as well.
You can also take the source code (VS2010 projects are included) and rebuild it targeting specifically 4.0. We've tested that scenario as well.
Are the silverlight DLLs included somewhere in the entlib 5.0 release? I can't seem to find servicelocator and unity.
If you mean Silverlight DLLs of Unity 2.0, then, no, they are not included in the Enterprise Library 5.0 but will be shipped as a separate Unity 2.0 for Silverlight release in the next couple of weeks. Stay tuned.
Thank you very much for your quick reply Grigori. I'll make my own own build from the source meanwhile.
I've just started looking at EntLib, and it annoys me to death that I haven't noticed this library earlier. :D It looks like an awesome time saver.
I was also wondering about the commonservicelocator that I saw released with entlib. But I'm guessing I should use the silverlight release from january 2009 on codeplex.
Can Applications developed in .Net framework 1.1,2.0 or 3.0 use enterprise library 5.0?
You have forgotten about Unity's resource:
It's not obvious where Unity 2.0 is.
Enterprise Library 5.0 requires .NET Framework 3.5 SP1 or 4.0 to run. If you developed applications on previous versions of .NET but intend to recompile them and migrate to the new runtime, then you can take advantage of Enterprise Library 5.0. If you want to run EntLib5.0 against .NET Framework 1.1, 2.0 or 3.0 - that wouldn't work.
Thanks a lot Grigori.
We have many legacy applications that are using earlier version of Microsoft Application blocks
(Framework 1.1 & 2.0), in fact we have customized those blocks based on our requirements. Now we want to make use of Enterprise library at the same time don’t want to break the existing applications. So we will use enterprise library for new applications (including SharePoint) where those applications will exist side by side with old applications. Below are couple doubts regarding the Enterprise Library
1.Can Microsoft Application Blocks co-exist with Enterprise library 5.0 (Will there be any issues)?
2.Does SharePoint 2010/2007 use Enterprise library 4.0/5.0 within its framework? Or do we need to refer Enterprise library explicitly for any custom SharePoint development?
Congrats guys! Glad to see it finally here. Keep up the good work
Re: EntLib5.0 on Windows XP
4/28/2010 Update: Additional test pass on Windows XP conducted, no issues found!
A high resolution version of the video is now posted. Get it from http://download.microsoft.com/download/2/E/0/2E057B9B-93A8-4ACE-B6B1-C1B0E98A50BE/EntLib v5 Preview.wmv
In our project we are migration Enterprise library 2006 to current version 5.0;
In jan-2006 release there one dll named as mentioned below
But in Version 5.0 there are two dll's of same name
Microsoft.Practices.EnterpriseLibrary.Configuration.Design.HostAdapterV5.dll which of these two i need to use