Tom Hollander's (old) blog

Now blogging at

Just Released! Enterprise Library 3.0 - April 2007

Just Released! Enterprise Library 3.0 - April 2007

  • Comments 73

Yes, it's finally here. The patterns & practices team is pleased to announce the official release of Enterprise Library 3.0 - April 2007 for the .NET Framework 2.0 and 3.0.  

Highlights of this Release

If you've been keeping up with the Community Technology Preview releases, there shouldn't be anything too surprising in the final release, although the overall quality should be much higher. All of the major new features have already been described on this blog or in other places, but here is a quick summary of the most significant changes:

  • Validation Application Block. Allows you to centrally define validation rules using configuration or attributes, and easily validate data from anywhere in your application, including deep integration with Windows Forms, ASP.NET and WCF.
  • Policy Injection Application Block. Provides a powerful approach for separating cross-cutting concerns from business logic using declarative policies that are attached at runtime to methods on your objects.
  • Application Block Software Factory. Dramatically simplifies the process of building application blocks and providers through the magic of guidance automation.
  • Visual Studio-integrated Configuration Editor. Edit Enterprise Library configuration files directly within Visual Studio.
  • Environmental Overrides. Use the configuration tool to specify configuration settings that are common or different across multiple environments, and merge this information into configuration files to be deployed with your applications.
  • WCF Integration. Easily integrate the Logging, Exception Handling and Validation Application Blocks into service interfaces built using Windows Communication Foundation.
  • Pre-compiled, strong-named binaries. No need to compile and strong name the code unless you want to manage and evolve the code yourself.

This isn't a complete list, and we've made a number of other minor changes that are described in the documentation. But the good news is that, despite all of the improvements in this release, there are no breaking changes in the core APIs and upgrading existing Enterprise Library 2.0 applications should just be a matter of replacing the DLLs and updating the version numbers in the configuration files.

Credit where it's due

One of the cool things about my job is that I get to play a very public role both during development and after the release of our deliverables. Sometimes this creates the impression that I'm responsible for more than I really am. In reality we have a very talented and dedicated team who are generally too busy working to spend much time in the spotlight. I want to take this opportunity to thank everyone in the team for all of the hard work to make this such a great release:

  • Our Development team: Fernando Simonazzi, Chris Tavares, Olaf Conijn, Adrian Alonso and John Socha-Leialoha
  • Our Test team: Hanz Zhang, Mani Krishnaswami, Sateesh Venkata Surya Nadupalli, Terrence Cyril Joseph Anthuvan, Carlos Farre, Eric Blanchet, Meenakshi Krishnamoorthi, Abhinav Bana, Nalini S and Sharadda Arora
  • Our Documentation team: Roberta Leibovitz, William French, Alex Homer, RoAnn Corbisier and Tina Burden McGrayne
  • Our Program Manager, William Loeffler and Architect, Edward Jezierski

Thanks also to everyone, too numerous to mention here, who provided additional management, reviews, advice and guidance during this project. A particularly special thanks to Dave Hayden for his great work in creating tutorials and supporting the community during the development of this release.

Finally, Enterprise Library 3.0 was of course built on the legacy of several previous releases of Enterprise Library, original p&p application blocks and Avanade's ACA.NET. So thanks to everybody who worked on these earlier deliverables, as Enterprise Library would not be a success if it wasn't for the high quality of these earlier codebases.

And thanks to you too!

As I hope you've noticed, the patterns & practices team is completely dependent on architects and developers in the "real world" to guide us on what we should build, what works well and what doesn't work well. This release of Enterprise Library is a prime example of this, with your input playing a huge role from setting the initial direction to identifying minor issues. Thanks to everyone who played a part in the process, whether it was completing the original prioritization survey, participating in our CodePlex community or providing direct feedback to our team. We really appreciate your support, and we look forward to your continued involvement for our future releases.

  • Buenas hoy se cumplen 2 años, desde que comencé a escribir un blog. Primero fue en my MSN Live Spaces

  • Buenas hoy se cumplen 2 años, desde que comencé a escribir un blog. Primero fue en my MSN Live Spaces

  • Thanks for 3.0!

    One thing i noticed the qucikstarts have "unrecognized version" in explorer and refuse to open in vs 2005 sp1. Comparing them to my existing solution files, I added a line break at the beginning of the files and all was well.



  • += thanks to Tom :)

  • With the recent release of Enterprise Library 3 , the new Policy Injection Application Block is introduced.

  • With the recent release of Enterprise Library 3 , the new Policy Injection Application Block is introduced.

  • Hi,

    I've seen this happen twice now, has anyone else?  Basically, sometimes the EL3 config editor will just remove sections from the app/web.config file for no apparent reason, they just disappear both in the GUI and in the config file.

    Is it just me?

  • Hi Jason -

    I've never seen this, but of course we'd want to fix this if it turned out to be an issue with the tool. Do you have any additional details you could mail me, such as how you were using the tool and what sections were apparently removed?



  • Regarding the documentation problem (which I also experienced):

    I tried Tom's suggestion. The following link will open up the documentation, on the EntLib introduction page (not the Caching QuickStart) and with contents filtering for EntLib Apr 2007.

    C:\Program Files\Common Files\Microsoft Shared\Help 8\dexplore.exe"  /helpcol ms-help://MS.VSCC.v80/MS.VSIPCC.v80/ms.EntLib.2007Apr /LaunchFKeywordTopic EnterpriseLibrary2007Apr.Introduction /filter "Enterprise Library 3.0 - April 2007"



  • TransactionScopeConnections.cs


    "conneciton" -> "connection"

  • Tom's reply in this thread mentioned that the partial trust patch for EntLib 2.0 has been rolled into EntLib 3.0, so you can run under partial trust provided you don't use any features that require a higher trust level.  Can you provide a list of "features that require higher trust level" in Entlib 3.0?  thanks

  • Hi,

    Before this release (like many others), I had been using EntLib 2.0 in my applications (mainly the DAAB). I had been waiting eagerly for support of "lightweight" transactions (TransactionScope) in the DAAB and thankfully its there now.

    However I've got another issue now. It is clear that, by avoiding DTC, all of my transactional activities in applications have got faster but at the same time all non-transactional calls have a slower response time (by a small fraction though).

    Looking at the code in Database.cs, it looks that the call to Transaction.Current is the real culprit for this.

    I had been thinking of modifying the DatabaseFactory.CreateDatabase to set something like a private boolean member in the created Database object (to indicate if its running under a transaction by checking Transaction.Current only once) and telling my developers to always initialize the Database object for transactional activities inside the TransactionScope's using block (that is already the case mostly but isn't a rule though).

    However I was just wondering (and hence wanted to check) if the Enterprise Library team have already tried other options and have already done the best of all.



  • Microsoft released the latest version of the Enterprise Library, version 3.0 last week: http://blogs

Page 5 of 5 (73 items) 12345