<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>entlibcontrib Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Home</link><description>entlibcontrib Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=53</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Three new Providers for the DAAB v4.1.&lt;/b&gt; - In the EntLib Contribution v4.1 core upgrade you will find three new DAAB data providers for Oracle ODP.NET, IBM DB2 and MySQL. Each provider has been given a full set of Unit Tests to match those applied to the MS SQL Server data provider and, of course, a matching Northwind Database so the tests can all be consistent. Simply download the latest changeset from source code.  Coming soon are two more providers, one for PostgreSQL and one for SQLite. All these providers existed in the v3.1 days but without the Unit Tests and corresponding Northwind DB. In addition these data providers have been tested with the latest versions of their respective databases and .NET Providers.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - This will also include VS2008 solutions and projects and be built using .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending). If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1 &lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. Look out for the EntLib v4.1 core upgrade coming next.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26680"&gt;Enterprise Library Contrib v3.1 May 2009&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;TypeConfigurationElement&amp;lt;T&amp;gt;, AnonymousConfigurationElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SQLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser, TimeStampParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Configurable providers for Globalization and Localization&lt;/li&gt;
&lt;li&gt;Full application block complete with support for the console, instrumentation and group policies&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator,  CompositeRulesetValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;: Now integrated into the main EntLibContrib release.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Thu, 01 Oct 2009 21:20:36 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091001092036P</guid></item><item><title>New Comment on "ASP.NET Resource Provider Model"</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=ASP.NET Resource Provider Model&amp;ANCHOR#C13572</link><description>A easy to understand concept. But,I cannot get database resource provider work with asp.net,&amp;#13;&amp;#10;If I follow the method in this article I get lots of this error&amp;#13;&amp;#10;&amp;#34;The &amp;#39;CodeFile&amp;#39; attribute cannot be used without an &amp;#39;Inherits&amp;#39; attribute.&amp;#34;&amp;#13;&amp;#10;I  think the line &amp;#60;globalization culture&amp;#61;&amp;#34;auto&amp;#34; uiCulture &amp;#61;&amp;#34;auto&amp;#34; resourceProviderFactoryType&amp;#61;&amp;#34;EntLibContrib.Resource.Web.WebResourceProviderFactory, EntLibContrib.Resource&amp;#34; &amp;#47;&amp;#62; &amp;#13;&amp;#10;in the web.config as something to do with this error. Is there any working example on database resource provider for asp.net localresources</description><author>orovia</author><pubDate>Thu, 13 Aug 2009 10:41:01 GMT</pubDate><guid isPermaLink="false">New Comment on "ASP.NET Resource Provider Model" 20090813104101A</guid></item><item><title>New Comment on "ASP.NET Resource Provider Model"</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=ASP.NET Resource Provider Model&amp;ANCHOR#C13563</link><description>I cannot get database resource provide work with asp.net, If I have this line     &amp;#60;globalization culture&amp;#61;&amp;#34;auto&amp;#34; uiCulture &amp;#61;&amp;#34;auto&amp;#34; resourceProviderFactoryType&amp;#61;&amp;#34;EntLibContrib.Resource.Web.WebResourceProviderFactory, EntLibContrib.Resource&amp;#34; &amp;#47;&amp;#62;  in the web.config, I get a series of complier errors. Is there any article in internet that shows how to setup database resource provider for asp.net localresources</description><author>orovia</author><pubDate>Wed, 12 Aug 2009 13:19:35 GMT</pubDate><guid isPermaLink="false">New Comment on "ASP.NET Resource Provider Model" 20090812011935P</guid></item><item><title>New Comment on "Resource Application Block 3.1"</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource Application Block 3.1&amp;ANCHOR#C13423</link><description>Hi there, just wondering whether there will be any attempt to have a WPF sample using this block&amp;#63;</description><author>tonyeka</author><pubDate>Tue, 21 Jul 2009 17:00:14 GMT</pubDate><guid isPermaLink="false">New Comment on "Resource Application Block 3.1" 20090721050014P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=52</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. Look out for the EntLib v4.1 core upgrade coming next.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - This will also include VS2008 solutions and projects and be built using .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending). If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1 &lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26680"&gt;Enterprise Library Contrib v3.1 May 2009&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;TypeConfigurationElement&amp;lt;T&amp;gt;, AnonymousConfigurationElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SQLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser, TimeStampParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Configurable providers for Globalization and Localization&lt;/li&gt;
&lt;li&gt;Full application block complete with support for the console, instrumentation and group policies&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator,  CompositeRulesetValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;: Now integrated into the main EntLibContrib release.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 05 May 2009 19:25:24 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090505072524P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=51</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. Look out for the EntLib v4.1 core upgrade coming next.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - This will also include VS2008 solutions and projects and be built using .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending). If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1 &lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26680"&gt;Enterprise Library Contrib v3.1 May 2009&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;TypeConfigurationElement&amp;lt;T&amp;gt;, AnonymousConfigurationElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SQLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser, TimeStampParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Configurable providers for Globalization and Localization&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator,  CompositeRulesetValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;: Now integrated into the main EntLibContrib release.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 05 May 2009 18:41:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090505064118P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=50</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. look for the EntLib v4.1 core upgrade coming next.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - This will also include VS2008 solutions and projects and be built using .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending). If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1 &lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26680"&gt;Enterprise Library Contrib v3.1 May 2009&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;TypeConfigurationElement&amp;lt;T&amp;gt;, AnonymousConfigurationElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SQLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser, TimeStampParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Configurable providers for Globalization and Localization&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator,  CompositeRulesetValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;: Now integrated into the main EntLibContrib release.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 05 May 2009 18:20:27 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090505062027P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=49</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. look for the EntLib v4.1 core upgrade coming next.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - This will also include VS2008 solutions and projects and be built using .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending). If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1 &lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26680"&gt;Enterprise Library Contrib v3.1 May 2009&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;TypeConfigurationElement&amp;lt;T&amp;gt;, AnonymousConfigurationElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SQLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser, TimeStampParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;Configurable providers for Globalization and Localization&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator,  CompositeRulesetValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 05 May 2009 18:16:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090505061644P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=48</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. look for the EntLib v4.1 core upgrade coming next.&lt;/li&gt;&lt;/ul&gt;

&lt;ul&gt;&lt;li&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - This will also include VS2008 solutions and projects and be built using .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending).&lt;/li&gt;&lt;/ul&gt;
If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1&lt;br /&gt;&lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;br /&gt;
&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=26680"&gt;Enterprise Library Contrib v3.1 May 2009&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;New TypeCommandElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SqLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt; - Configurable providers for Globalization and Localization&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 05 May 2009 18:09:21 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090505060921P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=47</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;News!&lt;/h3&gt;
&lt;b&gt;A new May 2009 release has been published.&lt;/b&gt; - This is a &lt;b&gt;final&lt;/b&gt; round-up of all of the user contributions built around the &lt;b&gt;Enterprise Library v3.1&lt;/b&gt; core. look for the EntLib v4.1 core upgrade coming next.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core&lt;/b&gt; - with VS2008 solutions and projects and .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending).&lt;br /&gt;If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1&lt;br /&gt;&lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;br /&gt;
&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7302"&gt;Enterprise Library Contrib September 2007&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Common Block extensions
&lt;ul&gt;&lt;li&gt;New TypeCommandElement&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SqLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt; - Configurable providers for Globalization and Localization&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 05 May 2009 18:06:14 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090505060614P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=46</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; Project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;Breaking News!&lt;/h3&gt;
The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core with VS2008 solutions and projects and .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a &lt;b&gt;new Query Application Block v4.1&lt;/b&gt; has been added to provide the next level of integration for data storage.  With the DAAB you got separation from the Database vendor with QAB you get separation from the data storage type with providers for the DAAB, Xml files and Web Services (documentation pending).&lt;br /&gt;If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1&lt;br /&gt;&lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;br /&gt;
&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7302"&gt;Enterprise Library Contrib September 2007&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SqLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include Unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt; - Configurable providers for Globalization and Localization&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 21 Apr 2009 22:28:27 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090421102827P</guid></item><item><title>Updated Wiki: Home</title><link>http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Home&amp;version=45</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; project!&lt;/h2&gt;
&lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="http:///entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt;&lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt;
&lt;h3&gt;Breaking News!&lt;/h3&gt;
The Enterprise Library Contribution Project is to be revamped and upgraded to work from the Entlib v4.1 core with VS2008 solutions and projects and .NET framework v3.5.  To start the ball rolling the Resource Application Block has been upgraded to v4.1 and a new Query Application Block v4.1 has been added (documentation pending).&lt;br /&gt;If you are a contributor please could you contact contributor &lt;b&gt;ewdev&lt;/b&gt; to grant permission or offer assistance to upgrade your code to v4.1&lt;br /&gt;&lt;b&gt;ewdev&lt;/b&gt; hopes to upgrade all contributions to v4.1 in the very near future and then to pave the way to supporting contributions for v5.0 when it arrives.&lt;br /&gt;
&lt;h3&gt;What's in EntLib Contrib?&lt;/h3&gt;
The latest release of EntLib Contrib is &lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7302"&gt;Enterprise Library Contrib September 2007&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.
&lt;ul&gt;&lt;li&gt;Data Access Application Block extensions
&lt;ul&gt;&lt;li&gt;MySql, SqLite and &lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Exception Handling Application Block extensions 
&lt;ul&gt;&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Logging Application Block extensions 
&lt;ul&gt;&lt;li&gt;LogParser&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Policy Injection Application Block extensions 
&lt;ul&gt;&lt;li&gt;PostSharp4EntLib&lt;/li&gt;
&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;
&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Validation Application Block extensions 
&lt;ul&gt;&lt;li&gt;New validators: CollectionCountValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;
&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;
&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other separate releases hosted on this site are:
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;Other contributions in the source code but not in the latest release:
&lt;ul&gt;&lt;li&gt;Query Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Next level of integration up from the DAAB providing a common interface for data stored in a DB, XML file or Web/WCF service&lt;/li&gt;
&lt;li&gt;Resource Application Block 4.1 &lt;b&gt;New&lt;/b&gt; - Upgraded to include unity integration and to work with EntLib4.1 core and VS2008&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Resource%20Application%20Block%203.1"&gt;Resource Application Block 3.1&lt;/a&gt; - Configurable providers for Globalization and Localization&lt;/li&gt;
&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;
&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;Contributing to EntLib Contrib&lt;/h3&gt;
Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know
&lt;ul&gt;&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects"&gt;About p&amp;#38;p &amp;#34;Contrib&amp;#34; projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://entlibcontrib.codeplex.com/Wiki/View.aspx?title=Sign%20Up%20Process"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;Other p&amp;amp;p Contrib Projects&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http:///wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http:///scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 21 Apr 2009 22:20:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20090421102058P</guid></item><item><title>New Comment on "SqlException Wrap Handler"</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=SqlException Wrap Handler&amp;ANCHOR#C12260</link><description>Hi! I'm having trouble using this. As soon as I copy the .Design.dll assemblies to the bin folder of the EntLib, the Configuration Tool stops working properly... Any thoughts?</description><author>ncoimbra</author><pubDate>Fri, 13 Feb 2009 13:31:49 GMT</pubDate><guid isPermaLink="false">New Comment on "SqlException Wrap Handler" 20090213013149P</guid></item><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Home&amp;version=44</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; project!
&lt;/h2&gt; &lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="/entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt; &lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
What's in EntLib Contrib?
&lt;/h3&gt;The latest release of EntLib Contrib is &lt;a href="http://www.codeplex.com/entlibcontrib/Release/ProjectReleases.aspx?ReleaseId=7302"&gt;Enterprise Library Contrib September 2007&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Data Access Application Block extensions&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;MySql, SqLite and &lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block&amp;amp;referringTitle=Home"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Exception Handling Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Logging Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;LogParser&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Policy Injection Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;PostSharp4EntLib&lt;/li&gt;&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Validation Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;New validators: CollectionCountValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;Other separate releases hosted on this site are:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Other contributions in the source code but not in the latest release:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Resource%20Application%20Block%203.1&amp;amp;referringTitle=Home"&gt;Resource Application Block 3.1&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The Application Block Software Factory (needs GAX)&lt;/li&gt;&lt;li&gt;The Strong-Naming Guidance Package (needs GAX)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Contributing to EntLib Contrib
&lt;/h3&gt;Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects&amp;amp;referringTitle=Home"&gt;About p&amp;amp;p &amp;quot;Contrib&amp;quot; projects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code&amp;amp;referringTitle=Home"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Sign%20Up%20Process&amp;amp;referringTitle=Home"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;
Other p&amp;amp;p Contrib Projects
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="/wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 23 Dec 2008 16:36:07 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20081223043607P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Home&amp;version=43</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Welcome to the &lt;b&gt;EntLib Contrib&lt;/b&gt; project!
&lt;/h2&gt; &lt;br /&gt;EntLib Contrib is a community-developed library of extensions to the patterns &amp;amp; practices &lt;a href="/entlib" class="externalLink"&gt;Enterprise Library&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. &lt;br /&gt; &lt;br /&gt;In short, if you wrote it, why not share it with the world so that they can benefit form all your hard work?  With your help EntLib Contrib will evolve to include a wide range of additional providers, extensions, tools and even application blocks that can be used with Enterprise Library.&lt;br /&gt; &lt;br /&gt;Note: Extensions in the core EntLib Contrib project should work against official builds of Enterprise Library, and should not require any modifications to the core Enterprise Library code. Contributions that involve modifications to Enterprise Library code will be considered, but any such contributions will be made available as separate releases on this site.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
What's in EntLib Contrib?
&lt;/h3&gt;The latest release of EntLib Contrib is &lt;a href="http://www.codeplex.com/entlibcontrib/Release/ProjectReleases.aspx?ReleaseId=7302"&gt;Enterprise Library Contrib September 2007&lt;/a&gt;. It contains the following functionality. For more detailed documentation, follow the link to the release home page.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Data Access Application Block extensions&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;MySql, SqLite and &lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Extended%20SQL%20Data%20Access%20Block&amp;amp;referringTitle=Home"&gt;SqlEx&lt;/a&gt; providers&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Exception Handling Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;SqlException Wrap Handler&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Logging Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;LogParser&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Policy Injection Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;PostSharp4EntLib&lt;/li&gt;&lt;li&gt;New matching rules: And, Or and Not&lt;/li&gt;&lt;li&gt;New call handlers: CursorCallHandler, OneWayCallHandler, SynchronizedCallHandler, ThreadSafeCallHandler, TransactionScopeCallHandler&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Validation Application Block extensions &lt;/li&gt;&lt;ul&gt;
&lt;li&gt;New validators: CollectionCountValidator, TypeValidator&amp;lt;T&amp;gt;, ObjectValidator&amp;lt;T&amp;gt;, EnumDefinedValidator &lt;/li&gt;&lt;li&gt;Designtime enhancements: Lightweight type picker, Test command&lt;/li&gt;&lt;li&gt;Other extensions: Default validators, Argument Validation, ExternallyConfigurableObjectValidator &lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;Other separate releases hosted on this site are:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Release/ProjectReleases.aspx?ReleaseId=7637"&gt;Standalone Validation Application Block 1.2&lt;/a&gt;: adds deep WPF automatic object validating data-binding via a new ValidationBinding markup extension.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Release/ProjectReleases.aspx?ReleaseId=6197"&gt;Extended SQL Data Access Block 3.1.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;New contributions coming soon:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Resource%20Application%20Block%203.1&amp;amp;referringTitle=Home"&gt;Resource Application Block 3.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h3&gt;
Contributing to EntLib Contrib
&lt;/h3&gt;Would you like to join as a developer of the EntLib Contrib project to share your own extensions or improve the existing codebase? Great! Here is what you need to know&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=About%20p%26p%20%22Contrib%22%20projects&amp;amp;referringTitle=Home"&gt;About p&amp;amp;p &amp;quot;Contrib&amp;quot; projects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Guidelines%20for%20EntLib%20Contrib%20code&amp;amp;referringTitle=Home"&gt;Guidelines for EntLib Contrib code&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Sign%20Up%20Process&amp;amp;referringTitle=Home"&gt;Sign Up Process&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h3&gt;
Other p&amp;amp;p Contrib Projects
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="/wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>dcazzulino</author><pubDate>Thu, 24 Apr 2008 15:53:01 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080424035301P</guid></item><item><title>UPDATED WIKI: About p&amp;p "Contrib" projects</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=About p&amp;p "Contrib" projects&amp;version=11</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
About p&amp;amp;p Contrib Projects
&lt;/h2&gt;p&amp;amp;p &amp;quot;Contrib&amp;quot; projects are community-developed and -managed projects that extend patterns &amp;amp; pratices deliverables with new and useful functionality. Currently, the following p&amp;amp;p Contrib projects are live:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="/entlibcontrib" class="externalLink"&gt;Enterprise Library Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/wcsfcontrib" class="externalLink"&gt;Web Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/scsfcontrib" class="externalLink"&gt;Smart Client Software Factory Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="/prismcontrib" class="externalLink"&gt;Prism Contrib&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;Contrib projects are of two types:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Extensions - extend the functionality in the core patterns &amp;amp; practices deliverable by levaraging built-in extensibility points. They do not modify or fork the original deliverable.&lt;/li&gt;&lt;li&gt;Forks - contain modifications to the guidance packages and/or application blocks. These may also include extensions. &lt;/li&gt;
&lt;/ul&gt;While core patterns &amp;amp; practices deliverables are developed by Microsoft and its vendors, anyone in the community may contribute to a p&amp;amp;p Contrib project, subject to processes and standards determined by the community team.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
FAQ
&lt;/h3&gt;&lt;b&gt;Q: Why has the patterns &amp;amp; practices team set up &amp;quot;Contrib&amp;quot; projects?&lt;/b&gt;&lt;br /&gt;A: The p&amp;amp;p Contrib projects were started to make it easier for community members to extend the value of p&amp;amp;p deliverables, without needing to wait for the p&amp;amp;p team to implement good ideas in official releases. While it has always been possible for community members to create and share extensions / forks to p&amp;amp;p deliverables, the Contrib projects are intended to provide a &amp;quot;center of gravity&amp;quot; to encourage easier sharing and discovery of useful code. Additionally through contrib the community can establish a set of standards for such projects thereby resulting in a clear set of expectations and more uniform experience for users of the contrib projects.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Q: I have built an extension to a p&amp;amp;p deliverable. Why would I want to contribute it to a p&amp;amp;p Contrib project?&lt;/b&gt;&lt;br /&gt;A: Obviously it's up to you to decide if and how to share code you have developed. The big advantage of sharing code through a Contrib project is that it will be exposed to a lot of people without you needing to do your own promotion. It also offers a benefit to users, as they can go to one location to find a variety of useful extensions, rather than having to find many different deliverables from different sites with different licenses. On the other hand, contributing to a p&amp;amp;p Contrib project will give you limited control over the license, positioning and the evolution of the code, since these will be decided by a team of community developers.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Q: Is anyone allowed to contribute to a p&amp;amp;p Contrib project?&lt;/b&gt;&lt;br /&gt;A: Anyone who has created an extension to a p&amp;amp;p deliverable is encoraged to contribute to the relevant p&amp;amp;p Contrib project. However in order to maintain the desired level of quality, each project team may have its own standards and requirements for developers who wish to join the team. These requirements will be decided by project team, and wil not be dictated by Microsoft. Anyone interested in contributing to a project should contact one of the project coordinators, as listed on the &lt;b&gt;People&lt;/b&gt; tab in CodePlex.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Q: Who gets to be a &amp;quot;coordinator&amp;quot;?&lt;/b&gt;&lt;br /&gt;A: Project coordinators are responsible for deciding who gets to check in, establishing and enforcing processes and guidelines, and ensuring the codebase remains at a suitable quality. Initially this role will be played by p&amp;amp;p members, but our plan is to transition this role to one or more external community members over time. If you believe you are qualified for this role and are able to dedictate the necessary amount of time, please contact an existing coordinator to discuss this further.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Q: What license will apply to code I contribute to a p&amp;amp;p Contrib project?&lt;/b&gt;&lt;br /&gt;A: Any code you contribute to a p&amp;amp;p Contrib project will be distributed under that project's license (typically, the Microsoft Permissive License). &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Q: Will code in p&amp;amp;p Contrib projects ever make its way into core p&amp;amp;p deliverables such as Enterprise Library?&lt;/b&gt;&lt;br /&gt;A: This is not the primary intent of Contrib projects. In general you should expect that extensions in Contrib projects will remain separate from the core p&amp;amp;p deliverables. If there are any contributions that both the community and the p&amp;amp;p team agree should become part of the core deliverable, Microsoft may investigate options for licensing the code; however this is unlikely to be a common scenario.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Q: Can I trust code in a p&amp;amp;p Contrib project?&lt;/b&gt;&lt;br /&gt;A: As with other open source and patterns &amp;amp; practices projects, the Contrib projects come with no warranties or guarantees, and it is up to the user to decide how much they trust the code. Ultimately the quality of the code and the processes around testing and consistency will be governed by the community.&lt;br /&gt;
&lt;/div&gt;</description><author>gblock</author><pubDate>Tue, 15 Apr 2008 14:41:43 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: About p&amp;p "Contrib" projects 20080415024143P</guid></item><item><title>UPDATED WIKI: Resource Application Block 3.1</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Resource Application Block 3.1&amp;version=20</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Resource Application Block 3.1
&lt;/h1&gt;The Resource Application Block is all about &lt;b&gt;resource management&lt;/b&gt;, &lt;b&gt;localization&lt;/b&gt; and &lt;b&gt;globalization&lt;/b&gt;. The Resource Application Block gives developers a provider model to get to resources from a variety of different sources and source types using the features of the Enterprise Library 3.1. All configuration of those resources naturally uses the Enterprise Library Configuration Console.&lt;br /&gt; &lt;br /&gt;The developer is not limited to the providers out-of-the-box but can extend the block by adding providers of their own in the normal Enterprise Library extensible fashion.&lt;br /&gt;&lt;h2&gt;
Main Features
&lt;/h2&gt;The following are the main features associated with the Resource Application Block:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Greater &lt;b&gt;flexibility&lt;/b&gt; to choose how you host your resources. With the Resource Application Block you can now choose whether to centralise or distribute resources, whether to leave resources in editable files rather than embed into assemblies, pull in resources from other projects and thus treat resources like reusable modules as per the Object Oriented paradigm,&lt;/li&gt;&lt;li&gt;You can use either the stand-alone Enterprise Library Configuration Console or the Visual Studio integrated Console to manage all Resource Application Block settings.&lt;/li&gt;&lt;li&gt;You have a choice of resource providers to manage resources from a variety of sources such as &lt;b&gt;assembly embedded resources&lt;/b&gt;, &lt;b&gt;xml resources&lt;/b&gt; (.resx files), &lt;b&gt;binary resources&lt;/b&gt; (.resources files) and &lt;b&gt;database resources&lt;/b&gt; (any DB you can get to from the Data Access Application Block).&lt;/li&gt;&lt;li&gt;If you need to manage resources from a source type not currently supported then you can extend the application block by creating &lt;b&gt;custom resource providers&lt;/b&gt;&lt;/li&gt;&lt;li&gt;You can generate &lt;b&gt;strongly typed resource classes&lt;/b&gt; for any resource provider type directly from the Enterprise Library Configuration Console in either C# or VB.&lt;/li&gt;&lt;li&gt;A &lt;b&gt;web resource provider&lt;/b&gt; is included to enable the developer to use the Resource Application Block with the localization features provided within ASP.NET.  This works for both local and global resources.&lt;/li&gt;&lt;li&gt;All Resource Application Block managers are based on an extended &lt;b&gt;ComponentResourceManager&lt;/b&gt; to enable reflection-style resource assignments to be made to Windows Forms component properties using the &lt;b&gt;ApplyResources&lt;/b&gt; method within the &lt;b&gt;ExtendedComponentResourceManager&lt;/b&gt;. Unfortunately, owing to the current closed nature of the Windows Forms designer &lt;b&gt;CodeDomProvider&lt;/b&gt; model, with respect to localization, it has not been possible to extend the full Windows Forms localization feature, however see &lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Windows%20Forms%20Designer&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Windows Forms Designer&lt;/a&gt; for what you can do with the &lt;b&gt;ExtendedComponentResourceManager&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;A resource provider presents the developer with an appropriate resource manager type.  Each resource manager supported within the Resource Application Block is provided with a corresponding &lt;b&gt;resource writer&lt;/b&gt; to enable editing of the various resource storage types using any &lt;b&gt;IResourceWriter&lt;/b&gt; enabled resource editor. These resource writers also support the &lt;b&gt;extended data node interface&lt;/b&gt; allowing for comments, file references and custom types to be stored (except for binary resource files that do not support comments).&lt;/li&gt;&lt;li&gt;Management and monitoring features include Windows Active Directory &lt;b&gt;Group Policy&lt;/b&gt; integration and instrumentation features such as &lt;b&gt;Performance Counters&lt;/b&gt;, Windows &lt;b&gt;EventLog&lt;/b&gt; logging and &lt;b&gt;WMI events&lt;/b&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
Key Uses
&lt;/h2&gt;If you need convincing as to why you would use this block, have a look at the following reasons:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;You need to localize your application.  The Resource Application Block gives you way more choices for managing localization than with standard means.&lt;/li&gt;&lt;li&gt;You have a large number of resources spread between many files.  The standard approach is to hold a set of resources for each assembly of an application.  If you have a large number of assemblies in your application and you are supporting several different cultures then the number of resource files can be considerable, managing these files and managing translators and translations etc becomes a complex operation. You can use the Resource Application Block to centralise those resources or at least break them down into a manageable set.  The database provider is an ideal choice when things start to get out of hand.&lt;/li&gt;&lt;li&gt;You think you might need to manage some of your resources on-the-fly without having to re-compile and re-install assemblies each time.  The Resource Application Block can provide resources directly from source files (e.g. &lt;b&gt;.resx&lt;/b&gt; or &lt;b&gt;.resources&lt;/b&gt; files) and does not hold those files open once read.  This allows for on-the-fly changes to resource values e.g. spelling corrections, word replacement, change of colour etc.&lt;/li&gt;&lt;li&gt;You may need to change from assembly embedded resources to a database as an application scales up.  Because all resource storage types are managed through configuration it makes it very easy to swap from one storage type to another.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
A Quick Code Sample
&lt;/h2&gt;The following code sample shows the basic function of the block, how to get the default resource manager and use its resources.  Note that an &lt;b&gt;indexer&lt;/b&gt; is used, based on a string key and an optional type (string is the default) to get at the resources.  The standard &lt;b&gt;GetString()&lt;/b&gt;, &lt;b&gt;GetObject()&lt;/b&gt; and &lt;b&gt;GetStream()&lt;/b&gt; methods are still available however:&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
// get the default resource manager. Note: this is an EntLibContrib.Resource.ResourceManager NOT System.Resources.ResourceManager
ResourceManager rm = ResourceFactory.GetResourceManager();
// get a string resource
string myString = rm[&amp;quot;StringKey&amp;quot;];
// get an integer resource, this works for any type of resource
int myInt = (int)rm[&amp;quot;IntegerKey&amp;quot;, typeof(int)];
// get an audio resource, you would normally need to use the GetStream() method for this type of resource.
UnManagedMemoryStream myAudio = (UnManagedMemoryStream)rm[&amp;quot;AudioKey&amp;quot;, typeof(UnManagedMemoryStream)];
&lt;/pre&gt; &lt;br /&gt;This next code sample shows how to get a named resource manager instance, set a specific culture and also how do do string formatting using the optional &lt;b&gt;params&lt;/b&gt; parameter of the indexer:&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
// get the &amp;quot;named instance&amp;quot; resource manager, this is the name you have given the configured resource manager in the console.
ResourceManager rm = ResourceFactory.GetResourceManager(&amp;quot;named instance&amp;quot;);
// set the culture to generic french.
rm.CultureInfo = new CultureInfo(&amp;quot;fr&amp;quot;);
// get a formatted string resource and format the string
string friendlyResponse = &amp;quot;bonjour&amp;quot;;
string myFormattedString = rm[&amp;quot;FriendlyMessageKey&amp;quot;, friendlyResponse];
&lt;/pre&gt; &lt;br /&gt;If the resource value is something like &amp;quot;&lt;b&gt;mon ami dit {0}&lt;/b&gt;&amp;quot; then &lt;b&gt;myFormattedString&lt;/b&gt; will contain &amp;quot;&lt;b&gt;mon ami dit bonjour&lt;/b&gt;&amp;quot;. Note: you can have more than one replaceable format string parameter in the same fashion as &lt;b&gt;String.Format()&lt;/b&gt;.&lt;br /&gt;&lt;h2&gt;
Installing the Assemblies
&lt;/h2&gt;When you build the Resource Application Block the assemblies are compiled without a strong name key.  If you want to put these assemblies into the GAC then you will need to assign a strong name key to each assembly and recompile (this is not neccessary for any &lt;b&gt;design.dll&lt;/b&gt; assembly).  If you use the &lt;b&gt;BuildLibraryAndCopyAssemblies.bat&lt;/b&gt; console script then the assemblies are copied to the EntLibContrib &lt;b&gt;bin&lt;/b&gt; folder.  You can reference the assemblies from here for your application however; to use the Configuration console you will need to copy all of the following assemblies to your installation of the Enterprise Library Configuration Console which is usually in &lt;b&gt;C:\Program Files\Microsoft Enterprise Library 3.1 - May 2007\Bin&lt;/b&gt;:&lt;br /&gt; &lt;br /&gt;The Resource Application Block 3.1 consists of the following assemblies:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;EntLibContrib.Resource.dll&lt;/b&gt; - the main assembly for the block&lt;/li&gt;&lt;li&gt;&lt;b&gt;EntLibContrib.Resource.Store.dll&lt;/b&gt; - the Resource Application Block uses itself to supply its own resources.  These are held in this resource only assembly.&lt;/li&gt;&lt;li&gt;&lt;b&gt;EntLibContrib.Resource.Database.dll&lt;/b&gt; - to comply with the rule that all application blocks must be able to work independantly of any other block, the data resource manager and provider, which has a dependancy on the &lt;b&gt;Data Access Application Block&lt;/b&gt; was separated out to its own assembly.&lt;/li&gt;&lt;li&gt;&lt;b&gt;EntLibContrib.Resource.Configuration.Design.dll&lt;/b&gt; - the plug-in interface to the Enterprise Library Configuration Console for the Resource Application Block.&lt;/li&gt;&lt;li&gt;&lt;b&gt;EntLibContrib.Resource.Database.Configuration.Design.dll&lt;/b&gt; - the plug-in interface to the Enterprise Library Configuration Console for the Resource Application Block data provider.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
What Next?
&lt;/h2&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Configuration&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Configuration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Providers&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Providers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Managers&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Managers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Strongly%20Typed%20Resource%20Classes&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Strongly Typed Resource Classes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=ASP.NET%20Resource%20Provider%20Model&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;ASP.NET Resource Provider Model&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Windows%20Forms%20Designer&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Windows Forms Designer&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Using%20a%20Database&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Using a Database&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Instrumentation&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Instrumentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Group%20Policy&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Group Policy&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Extending%20the%20Resource%20Application%20Block&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;Extending the Resource Application Block&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=The%20QuickStart%20Sample%20Applications&amp;amp;referringTitle=Resource%20Application%20Block%203.1"&gt;The QuickStart Sample Applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;
Acknowledgements
&lt;/h2&gt;I did not get much feedback from the Resource Application Block versions 1.1 and 2.0 so I very nearly did not bother with version 3.1 until I read &lt;b&gt;.NET Internationalization&lt;/b&gt; by &lt;b&gt;Guy Smith-Ferrier&lt;/b&gt; so my thanks to him for the inspiration and some neat ideas.&lt;br /&gt; &lt;br /&gt;I know it might sound like a cliche but I must include my wife &lt;b&gt;Margaret&lt;/b&gt; too.  I have three young boys and you don't get to write this kind of stuff whilst carrying out a full program of fatherly responsibilities...  Off to read Rupert Bear to the 6 year old, I will try not to localize him or turn Pong-Ping into a Frenchman.&lt;br /&gt;
&lt;/div&gt;</description><author>ewdev</author><pubDate>Fri, 11 Apr 2008 16:11:31 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Resource Application Block 3.1 20080411041131P</guid></item><item><title>UPDATED WIKI: Managers</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Managers&amp;version=10</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Resource Managers
&lt;/h1&gt;The Resource Application Block &lt;b&gt;Resource Manager&lt;/b&gt; type is actually a wrapper for any one of a set of Resource Managers that inherit from &lt;b&gt;ExtendedComponentResourceManager&lt;/b&gt; which in turn inherits from the &lt;b&gt;System.Resources.ResourceManager&lt;/b&gt; type. One example is the &lt;b&gt;BinaryResourceManager&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;The key method within the System.Resources.ResourceManager type is the &lt;b&gt;InternalGetResourceSet()&lt;/b&gt; method which is responsible for obtaining a single set of resources for a single culture. It is also responsible for the fallback feature of resource management.  For example, if you ask for resources for the culture &lt;b&gt;fr-CA&lt;/b&gt; but this set of resources does not contain values for all the resources but you have all the common French resources in the generic set &lt;b&gt;fr&lt;/b&gt;. Then resource managers will fetch resources from the &lt;b&gt;fr-CA&lt;/b&gt; set first, if they exist, otherwise fallback to fetching resources from the &lt;b&gt;fr&lt;/b&gt; set and so on until you reach the &lt;b&gt;neutral&lt;/b&gt; or &lt;b&gt;invariant&lt;/b&gt; culture.&lt;br /&gt; &lt;br /&gt;The InternalGetResourceSet() method returns the set of resources as a &lt;b&gt;ResourceSet&lt;/b&gt; type.  Not only does the ResourceSet contain a single set of resources but it is also responsible for marshalling the correct &lt;b&gt;IResourceReader&lt;/b&gt; and &lt;b&gt;IResourceWriter&lt;/b&gt; for reading and writing the set of resources from a resource store.&lt;br /&gt;&lt;h2&gt;
The ExtendedComponentResourceManager
&lt;/h2&gt;Microsoft wrote the &lt;b&gt;ComponentResourceManager&lt;/b&gt; to work with their &lt;b&gt;CodeDomLocalizationProvider&lt;/b&gt; and &lt;b&gt;ResourceCodeDomSerializer&lt;/b&gt; to read and write localizable Windows Forms component properties to and from embedded assembly resources.  The key feature of the ComponentResourceManager is the &lt;b&gt;ApplyResources()&lt;/b&gt; method that takes a component and a key name and uses reflection to match resources to component properties. The Resource Application Block resource managers rely on several of the available constructors of the &lt;b&gt;System.Resource.ResourceManager&lt;/b&gt; type, especially the one that takes a base name and an assembly. Although the ComponentResourceManager inherits from System.Resource.ResourceManager it only implements the constructor that takes a single &lt;b&gt;Type&lt;/b&gt;. This made it unsuitable as a parent for the resource managers for the Resource Application Block.  For this reason the &lt;b&gt;ExtendedComponentResourceManager&lt;/b&gt; was written to implement all of the System.Resource.ResourceManager constructors and to provide the ApplyResources() method.  Unfortunately, because it was not possible to inherit from the ComponentResourceManager this gives us big problems integrating with the Windows Forms designer for resource management, however not all is lost see &lt;a href="http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=Windows%20Forms%20Designer&amp;amp;referringTitle=Managers"&gt;Windows Forms Designer&lt;/a&gt; for more details.&lt;br /&gt; &lt;br /&gt;In addition to the ApplyResources() method, the ExtendedComponentResourceManager also integrates with the Enterprise Library instrumentation interface to provide performance, monitoring and logging information.&lt;br /&gt;&lt;h2&gt;
Assembly Based Resources
&lt;/h2&gt;This is the default resource storage type used by the System.Resource.ResourceManager so nothing special is needed beyond the ExtendedComponentResourceManager.&lt;br /&gt;&lt;h2&gt;
File Based Resources
&lt;/h2&gt;Both Binary and Xml resource managers use file based resources. A &lt;b&gt;FileResourceManager&lt;/b&gt; abstract type inherits from ExtendedComponentResourceManager and overrides the InternalGetResourceSet() method to handle the reading of resources from files.  The &lt;b&gt;BinaryResourceManager&lt;/b&gt; and &lt;b&gt;XmlResourceManager&lt;/b&gt; both inherit from FileResourceManager to provide the appropriate &lt;b&gt;ResourceSet&lt;/b&gt; type to the FileResourceManager's InternalGetResourceSet() method.&lt;br /&gt;&lt;h2&gt;
Database Based Resources
&lt;/h2&gt;The &lt;b&gt;DataResourceManager&lt;/b&gt; inherits from the ExtendedComponentResourceManager and overrides the InternalGetResourceSet() method to provide a &lt;b&gt;DataResourceSet&lt;/b&gt; type to the method.  The DataResourceSet handles reading resources from a database.&lt;br /&gt;&lt;h2&gt;
ResourceSets
&lt;/h2&gt;All Resource Application Block ResourceSets inherit from the &lt;b&gt;CommonResourceSet&lt;/b&gt; which in turn inherits from &lt;b&gt;System.Resources.ResourceSet&lt;/b&gt;.  One example is the &lt;b&gt;BinaryResourceSet&lt;/b&gt;.&lt;br /&gt; &lt;br /&gt;The key feature of a ResourceSet is to hold a table of resources for a single culture and, in addition, to associate a specific type of resource reader and resource writer with the resource set by providing the &lt;b&gt;GetDefaultResourceReader()&lt;/b&gt; and &lt;b&gt;GetDefaultResourceWriter()&lt;/b&gt; methods. &lt;i&gt;Note:&lt;/i&gt; the GetString(), and GetObject() methods also come from ResourceSet called by similar methods within System.Resource.ResourceManager.&lt;br /&gt; &lt;br /&gt;The &lt;b&gt;CommonResourceSet&lt;/b&gt; adds a few additional features to the ResourceSet type such as a &lt;b&gt;Count&lt;/b&gt; property to return the number of resources in its table, a &lt;b&gt;Resources&lt;/b&gt; property to expose the inner table, a &lt;b&gt;CreateDefaultResourceReader()&lt;/b&gt; and a &lt;b&gt;CreateDefaultResourceWriter()&lt;/b&gt; to create an instance of an &lt;b&gt;IResourceReader&lt;/b&gt; and &lt;b&gt;IResourceWriter&lt;/b&gt; respectively. The methods included in the base type as described above only returned the type of default reader and writer. I have to give credit to Guy Smith-Ferrier for the inspiration on this one.&lt;br /&gt;&lt;h2&gt;
The Resource Application Block ResourceSets
&lt;/h2&gt;There is no AssemblyResourceSet because this is the default type.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;BinaryResourceSet&lt;/b&gt; - this serves to provide a &lt;b&gt;BinaryResourceReader&lt;/b&gt; and &lt;b&gt;BinaryResourceWriter&lt;/b&gt; to the InternalGetResourceSet() method.&lt;/li&gt;&lt;li&gt;&lt;b&gt;XmlResourceSet&lt;/b&gt; - this serves to provide an &lt;b&gt;XmlResourceReader&lt;/b&gt; and &lt;b&gt;XmlResourceWriter&lt;/b&gt; to the InternalGetResourceSet() method.&lt;/li&gt;&lt;li&gt;&lt;b&gt;DataResourceSet&lt;/b&gt; - this serves to provide a &lt;b&gt;DataResourceReader&lt;/b&gt; and &lt;b&gt;DataResourceWriter&lt;/b&gt; to the InternalGetResourceSet() method.&lt;/li&gt;
&lt;/ul&gt;The resource readers and resource writers use the Enterprise Library to get their configuration. In addition to reading and writing to and from the configured resource store, these custom readers and writers also implement the &lt;b&gt;IResourceDataNode&lt;/b&gt; interface for storing additional resource related data and custom types.&lt;br /&gt;&lt;h2&gt;
The IResourceDataNode Interface
&lt;/h2&gt;The basic resource item in a set only carries a resource name key and a value. Using the &lt;b&gt;IResourceDataNode&lt;/b&gt; interface the resource item can carry additional information that includes a comment, a type name and a file reference.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Comments*&lt;/b&gt; - These are simple strings associated with a resource item to give a human reader a description of the item for use with resource editors (*binary resources cannot support comments).&lt;/li&gt;&lt;li&gt;&lt;b&gt;Type Names&lt;/b&gt; - This is essential for resource stores that do not store resources as serialized CLR types.  This enables a resource editor to reconstitute the resource as its proper type for display and editing. For example, a colour resource can be reconstituted as a &lt;b&gt;Color&lt;/b&gt; object and be displayed as a shape of the appropriate colour.&lt;/li&gt;&lt;li&gt;&lt;b&gt;File References&lt;/b&gt; - A file reference is a pointer to an external file, typically a UNC name or Url. Xml resources use file references.  An alternative to a file reference is to binary serialize the file contents into the resource store, this is the preferred option for binary and data resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>ewdev</author><pubDate>Sat, 08 Mar 2008 12:38:14 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Managers 20080308123814P</guid></item><item><title>UPDATED WIKI: The QuickStart Sample Applications</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=The QuickStart Sample Applications&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
The Resource Application Block QuickStart Sample Applications
&lt;/h1&gt;The two samples that are supplied with the Resource Application Block are contrived to demonstrate all of the features of the Resource Application Block.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; before trying out the samples please check the configuration files with the &lt;b&gt;Enterprise Library Configuration Console&lt;/b&gt;.  The samples use file based providers with absolute path names.  These files are quite likely to be in a different place on your computer as they were on mine.&lt;br /&gt;&lt;h2&gt;
The Windows Forms based Message of the Day Application
&lt;/h2&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=entlibcontrib&amp;amp;DownloadId=28933" alt="Message of the Day Form" /&gt;&lt;br /&gt; &lt;br /&gt;The key features demonstrated here are the &lt;b&gt;standard mechanism&lt;/b&gt; for getting at resources, the &lt;b&gt;strongly typed class&lt;/b&gt; method of getting at resources and the integration with the &lt;b&gt;Windows Forms designer reflection-based component property resource management&lt;/b&gt; feature,&lt;br /&gt; &lt;br /&gt;The application uses two resource managers, one for managing the messages of the day and another for managing the form resources:&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
// Resource Manager holding the message resources. This is the default resource manager
// in configuration, hence no need to give the instance name.  This is also a Binary resource
// which means that the resources come directly from the &amp;quot;*.resources&amp;quot; files.
private ResourceManager messageResources = ResourceFactory.GetResourceManager();
// Resource Manager holding the form resources.  Because this is not the default resource manager
// you need to include the instance name. This is also an Xml resource which means that the 
// resources come directly from the &amp;quot;*.resx&amp;quot; file which can be edited independantly from the
// application.
private ResourceManager formResources = ResourceFactory.GetResourceManager(&amp;quot;Form Resource Manager&amp;quot;);
&lt;/pre&gt; &lt;br /&gt;Also a strongly typed class was generated for the form resources and used in the &lt;b&gt;MessageOfTheDay()&lt;/b&gt; method. This method also uses the standard mechanism for getting at resources.&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
/// &amp;lt;summary&amp;gt;
/// Set the message of the day.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;remarks&amp;gt;
/// The message of the day label is fetched from form resources using a strongly typed class,
/// while the message of the day text is fetched from message resources using an indexer.
/// &amp;lt;/remarks&amp;gt;
public void MessageOfTheDay()
{
	// Message of the day label. Note the use of the generated strongly typed class
	// this class was generated from the Enterprise Library configuration tool
	string messageLabel = FormResources.labelMessageOfTheDay_Text;
	this.labelMessageOfTheDay.Text = messageLabel + ( (DayName)this.comboDays.SelectedItem ).NameValue;
 
	// Message of the day text. Here we use string manipulation to calculate the resource key
	// and then apply the key to the resource manager default indexer for string resources.
	string message = messageResources[( (DayName)this.comboDays.SelectedItem ).NameKey + &amp;quot;Message&amp;quot;];
	this.textMessage.Text = message;
}
&lt;/pre&gt; &lt;br /&gt;Finally you see the reflection-based component property resource management feature in the &lt;b&gt;ApplyResources()&lt;/b&gt; method&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
/// &amp;lt;summary&amp;gt;
/// Reinitialize the form components that take localised information.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;remarks&amp;gt;Note how we demonstrate the use of the ApplyResources method from the resource manager.
/// This method uses reflection to match resources found in the resource file with the properties of
/// a given form component.  For clarity I have used the exact same component key names as would
/// be generated by the Windows Form designer.  Have a look at the FormResources.resx file to see 
/// how these key names are formatted. Note how each property, except for the default property, takes
/// an initial double chevron.&amp;lt;/remarks&amp;gt;
private void ApplyResources()
{
	this.SuspendLayout();
	formResources.ApplyResources(this, &amp;quot;$this&amp;quot;);
	formResources.ApplyResources(this.comboCulture, &amp;quot;comboCulture&amp;quot;);
	formResources.ApplyResources(this.comboDays, &amp;quot;comboDays&amp;quot;);
	formResources.ApplyResources(this.labelMessageOfTheDay, &amp;quot;labelMessageOfTheDay&amp;quot;);
	formResources.ApplyResources(this.pictureFlag, &amp;quot;pictureFlag&amp;quot;);
	formResources.ApplyResources(this.textMessage, &amp;quot;textMessage&amp;quot;);
	this.ResumeLayout(false);
}
&lt;/pre&gt;&lt;h2&gt;
The Web based Message of the Day Application
&lt;/h2&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=entlibcontrib&amp;amp;DownloadId=28934" alt="Message of the Day Web Page" /&gt;&lt;br /&gt; &lt;br /&gt;The key features demonstrated here are the implicit mechanism for getting at local resources using the &lt;b&gt;web resource provider&lt;/b&gt; and the explicit mechanism for getting at both local and global resources using the web resource provider,&lt;br /&gt; &lt;br /&gt;Here is an example of the implicit use of resources through the web resource provider, the resource manager base name will be the name of the web page class, which in this case is &lt;b&gt;default&lt;/b&gt;:&lt;br /&gt; &lt;br /&gt;[ASPX]&lt;br /&gt;&lt;pre&gt;
&amp;lt;asp:Image ID=&amp;quot;logo&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/App.ico&amp;quot; meta:resourcekey=&amp;quot;logoResource1&amp;quot; /&amp;gt;
&amp;amp;nbsp;
&amp;lt;asp:Label ID=&amp;quot;title&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;title&amp;quot; meta:resourcekey=&amp;quot;titleResource1&amp;quot; CssClass=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;
&lt;/pre&gt; &lt;br /&gt;Here is an example of the explicit use of resources through the web resource provider to get the national flag Url, using the syntax for getting at global resources, and implicit use of local resource to get the other &lt;b&gt;pictureImage&lt;/b&gt; control properties:&lt;br /&gt; &lt;br /&gt;[ASPX]&lt;br /&gt;&lt;pre&gt;
&amp;lt;asp:Image ID=&amp;quot;pictureImage&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;&amp;lt;%$ Resources:default, nationalFlagUrl %&amp;gt;&amp;quot; meta:resourcekey=&amp;quot;pictureImageResource1&amp;quot; /&amp;gt;
&lt;/pre&gt; &lt;br /&gt;The code-behind class uses the standard method and the strongly typed method for getting at resources in the &lt;b&gt;MessageOfTheDay()&lt;/b&gt; method:&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
/// &amp;lt;summary&amp;gt;
/// Set the message of the day.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;remarks&amp;gt;
/// The message of the day label is fetched from form resources using a strongly typed class,
/// while the message of the day text is fetched from message resources using an indexer.
/// &amp;lt;/remarks&amp;gt;
public void MessageOfTheDay()
{
	// Message of the day label. Note the use of the generated strongly typed class
	// this class was generated from the Enterprise Library configuration tool
	//string messageLabel = PageResources.labelMessageOfTheDay_Text;
	this.messageLabel.Text = PageResources.messageLabelResource1_Text + this.comboDays.SelectedItem.Text;
 
	// Message of the day text. Here we use string manipulation to calculate the resource key
	// and then apply the key to the resource manager default indexer for string resources.
	this.message.Text = messageResources[this.comboDays.SelectedValue + &amp;quot;Message&amp;quot;];
}
&lt;/pre&gt;
&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 04 Mar 2008 00:20:15 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: The QuickStart Sample Applications 20080304122015A</guid></item><item><title>UPDATED WIKI: The QuickStart Sample Applications</title><link>http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=The QuickStart Sample Applications&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
The Resource Application Block QuickStart Sample Applications
&lt;/h1&gt;The two samples that are supplied with the Resource Application Block are contrived to demonstrate all of the features of the Resource Application Block.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; before trying out the samples please check the configuration files with the &lt;b&gt;Enterprise Library Configuration Console&lt;/b&gt;.  The samples use file based providers with absolute path names.  These files are quite likely to be in a different place on your computer as they were on mine.&lt;br /&gt;&lt;h2&gt;
The Windows Forms based Message of the Day Application
&lt;/h2&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=entlibcontrib&amp;amp;DownloadId=28933" alt="Message of the Day Form" /&gt;&lt;br /&gt; &lt;br /&gt;The key features demonstrated here are the &lt;b&gt;standard mechanism&lt;/b&gt; for getting at resources, the &lt;b&gt;strongly typed class&lt;/b&gt; method of getting at resources and the integration with the &lt;b&gt;Windows Forms designer reflection-based component property resource management&lt;/b&gt; feature,&lt;br /&gt; &lt;br /&gt;The application uses two resource managers, one for managing the messages of the day and another for managing the form resources:&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
// Resource Manager holding the message resources. This is the default resource manager
// in configuration, hence no need to give the instance name.  This is also a Binary resource
// which means that the resources come directly from the &amp;quot;*.resources&amp;quot; files.
private ResourceManager messageResources = ResourceFactory.GetResourceManager();
// Resource Manager holding the form resources.  Because this is not the default resource manager
// you need to include the instance name. This is also an Xml resource which means that the 
// resources come directly from the &amp;quot;*.resx&amp;quot; file which can be edited independantly from the
// application.
private ResourceManager formResources = ResourceFactory.GetResourceManager(&amp;quot;Form Resource Manager&amp;quot;);
&lt;/pre&gt; &lt;br /&gt;Also a strongly typed class was generated for the form resources and used in the &lt;b&gt;MessageOfTheDay()&lt;/b&gt; method.&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
/// &amp;lt;summary&amp;gt;
/// Set the message of the day.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;remarks&amp;gt;
/// The message of the day label is fetched from form resources using a strongly typed class,
/// while the message of the day text is fetched from message resources using an indexer.
/// &amp;lt;/remarks&amp;gt;
public void MessageOfTheDay()
{
	// Message of the day label. Note the use of the generated strongly typed class
	// this class was generated from the Enterprise Library configuration tool
	string messageLabel = FormResources.labelMessageOfTheDay_Text;
	this.labelMessageOfTheDay.Text = messageLabel + ( (DayName)this.comboDays.SelectedItem ).NameValue;
 
	// Message of the day text. Here we use string manipulation to calculate the resource key
	// and then apply the key to the resource manager default indexer for string resources.
	string message = messageResources[( (DayName)this.comboDays.SelectedItem ).NameKey + &amp;quot;Message&amp;quot;];
	this.textMessage.Text = message;
}
&lt;/pre&gt; &lt;br /&gt;Finally you see the reflection-based component property resource management feature in the &lt;b&gt;ApplyResources()&lt;/b&gt; method&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
/// &amp;lt;summary&amp;gt;
/// Reinitialize the form components that take localised information.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;remarks&amp;gt;Note how we demonstrate the use of the ApplyResources method from the resource manager.
/// This method uses reflection to match resources found in the resource file with the properties of
/// a given form component.  For clarity I have used the exact same component key names as would
/// be generated by the Windows Form designer.  Have a look at the FormResources.resx file to see 
/// how these key names are formatted. Note how each property, except for the default property, takes
/// an initial double chevron.&amp;lt;/remarks&amp;gt;
private void ApplyResources()
{
	this.SuspendLayout();
	formResources.ApplyResources(this, &amp;quot;$this&amp;quot;);
	formResources.ApplyResources(this.comboCulture, &amp;quot;comboCulture&amp;quot;);
	formResources.ApplyResources(this.comboDays, &amp;quot;comboDays&amp;quot;);
	formResources.ApplyResources(this.labelMessageOfTheDay, &amp;quot;labelMessageOfTheDay&amp;quot;);
	formResources.ApplyResources(this.pictureFlag, &amp;quot;pictureFlag&amp;quot;);
	formResources.ApplyResources(this.textMessage, &amp;quot;textMessage&amp;quot;);
	this.ResumeLayout(false);
}
&lt;/pre&gt;&lt;h2&gt;
The Web based Message of the Day Application
&lt;/h2&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=entlibcontrib&amp;amp;DownloadId=28934" alt="Message of the Day Web Page" /&gt;&lt;br /&gt; &lt;br /&gt;The key features demonstrated here are the implicit mechanism for getting at local resources using the web resource provider and the explicit mechanism for geting at both local and global resources using the web resource provider,&lt;br /&gt; &lt;br /&gt;Here is an example if the implicit use of resources through the web resource provider, the resource manager base name will be the name of the web page class in this case it is &lt;b&gt;default&lt;/b&gt;:&lt;br /&gt; &lt;br /&gt;[ASPX]&lt;br /&gt;&lt;pre&gt;
&amp;lt;asp:Image ID=&amp;quot;logo&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;~/App.ico&amp;quot; meta:resourcekey=&amp;quot;logoResource1&amp;quot; /&amp;gt;
&amp;amp;nbsp;
&amp;lt;asp:Label ID=&amp;quot;title&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;title&amp;quot; meta:resourcekey=&amp;quot;titleResource1&amp;quot; CssClass=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;
&lt;/pre&gt; &lt;br /&gt;Here is an example of the explicit use of resources through the web resource provider to get the national flag Url, using the syntax for getting at global resources, and implicit use of local resource to get the other &lt;b&gt;pictureImage&lt;/b&gt; control properties:&lt;br /&gt; &lt;br /&gt;[ASPX]&lt;br /&gt;&lt;pre&gt;
&amp;lt;asp:Image ID=&amp;quot;pictureImage&amp;quot; runat=&amp;quot;server&amp;quot; ImageUrl=&amp;quot;&amp;lt;%$ Resources:default, nationalFlagUrl %&amp;gt;&amp;quot; meta:resourcekey=&amp;quot;pictureImageResource1&amp;quot; /&amp;gt;
&lt;/pre&gt; &lt;br /&gt;The code-behind class use the standard method and the strongly typed method for getting at resources in the &lt;b&gt;MessageOfTheDay()&lt;/b&gt; method:&lt;br /&gt; &lt;br /&gt;[C#]&lt;br /&gt;&lt;pre&gt;
/// &amp;lt;summary&amp;gt;
/// Set the message of the day.
/// &amp;lt;/summary&amp;gt;
/// &amp;lt;remarks&amp;gt;
/// The message of the day label is fetched from form resources using a strongly typed class,
/// while the message of the day text is fetched from message resources using an indexer.
/// &amp;lt;/remarks&amp;gt;
public void MessageOfTheDay()
{
	// Message of the day label. Note the use of the generated strongly typed class
	// this class was generated from the Enterprise Library configuration tool
	//string messageLabel = PageResources.labelMessageOfTheDay_Text;
	this.messageLabel.Text = PageResources.messageLabelResource1_Text + this.comboDays.SelectedItem.Text;
 
	// Message of the day text. Here we use string manipulation to calculate the resource key
	// and then apply the key to the resource manager default indexer for string resources.
	this.message.Text = messageResources[this.comboDays.SelectedValue + &amp;quot;Message&amp;quot;];
}
&lt;/pre&gt;
&lt;/div&gt;</description><author>ewdev</author><pubDate>Tue, 04 Mar 2008 00:15:59 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: The QuickStart Sample Applications 20080304121559A</guid></item></channel></rss>