<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Notes From the Team Room</title><link>http://blogs.msdn.com/bobbrum/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Composite Application Guidance for WPF and SL 3.0</title><link>http://blogs.msdn.com/bobbrum/archive/2009/11/02/composite-application-guidance-for-wpf-and-sl-3-0.aspx</link><pubDate>Mon, 02 Nov 2009 21:04:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9916369</guid><dc:creator>brumfb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9916369.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9916369</wfw:commentRss><description>&lt;p&gt;We’ve released an update to Prism (v 2.1) that refreshes the bits for SL 3.0.&amp;#160; You can find the updated MSDN download &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=387c7a59-b217-4318-ad1b-cbc2ea453f40&amp;amp;displaylang=en"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Most of the changes to this release are minor:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Projects refreshed to target SL 3.0&lt;/li&gt;    &lt;li&gt;The DelegateCommand and CompositeCommand no longer hold on to the CanExecuteChange handlers.&lt;/li&gt;    &lt;li&gt;The TabRegionControlAdapter was updated to set the context for the Header item to retain the same behavior as the Prism 2.0 version.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can find more details on the &lt;a href="http://msdn.microsoft.com/en-us/library/ee712881.aspx"&gt;MSDN page&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9916369" width="1" height="1"&gt;</description></item><item><title>Patterns of Parallel Programming at PDC 2009</title><link>http://blogs.msdn.com/bobbrum/archive/2009/09/22/patterns-of-parallel-programming-at-pdc-2009.aspx</link><pubDate>Wed, 23 Sep 2009 02:52:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9898227</guid><dc:creator>brumfb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9898227.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9898227</wfw:commentRss><description>&lt;p&gt;Patterns &amp;amp; Practices is hosting a pre-conference workshop on patterns of parallel computing.&amp;#160; If you are attending, thinking of attending, or are intending to be convinced and then attend, &lt;a href="http://www.ademiller.com/blogs/tech/2009/08/patterns-of-parallel-programming-at-pdc-2009/"&gt;check out what they’re planning to cover&lt;/a&gt; and provide your feedback to fine tune the event.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898227" width="1" height="1"&gt;</description></item><item><title>Want to know more about getting started with Prism in Silverlight?</title><link>http://blogs.msdn.com/bobbrum/archive/2009/07/06/want-to-know-more-about-getting-started-with-prism-in-silverlight.aspx</link><pubDate>Mon, 06 Jul 2009 20:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9820208</guid><dc:creator>brumfb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9820208.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9820208</wfw:commentRss><description>&lt;p&gt;Erik Mork has put together a nice series of posts and web casts as an introduction to Prism for Silverlight.&amp;#160; Here is what he has available:&lt;/p&gt;  &lt;h5&gt;Videos&lt;/h5&gt;  &lt;blockquote&gt;   &lt;p&gt;Intro to Silverlight Prism - &lt;a href="http://development-guides.silverbaylabs.org/Video/Silverlight-Prism"&gt;http://development-guides.silverbaylabs.org/Video/Silverlight-Prism&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Testing/Module Catalog/Unity - &lt;a href="http://development-guides.silverbaylabs.org/Video/Modularity-in-Prism"&gt;http://development-guides.silverbaylabs.org/Video/Modularity-in-Prism&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Regions (including Region Scope, Region Adapter and Region Context) - &lt;a href="http://development-guides.silverbaylabs.org/Video/Prism-Regions"&gt;http://development-guides.silverbaylabs.org/Video/Prism-Regions&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Commanding (including creating new commands) - &lt;a href="http://development-guides.silverbaylabs.org/Video/Prism-Commands"&gt;http://development-guides.silverbaylabs.org/Video/Prism-Commands&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Eventing - &lt;a href="http://development-guides.silverbaylabs.org/Video/Prism-Eventing"&gt;http://development-guides.silverbaylabs.org/Video/Prism-Eventing&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h5&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/h5&gt;  &lt;h5&gt;&lt;strong&gt;Podcasts&lt;/strong&gt;&lt;/h5&gt;  &lt;blockquote&gt;   &lt;p&gt;What is Prism - &lt;a href="http://www.sparklingclient.com/prism-in-silverlight/"&gt;http://www.sparklingclient.com/prism-in-silverlight/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Modularity in Prism - &lt;a href="http://www.sparklingclient.com/modularity-in-prism/"&gt;http://www.sparklingclient.com/modularity-in-prism/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;When to use Prism - &lt;a href="http://www.sparklingclient.com/when-to-use-prism/"&gt;http://www.sparklingclient.com/when-to-use-prism/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Regions in Prism - &lt;a href="http://www.sparklingclient.com/regions-in-prism/"&gt;http://www.sparklingclient.com/regions-in-prism/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;View or Presenter First? - &lt;a href="http://www.sparklingclient.com/which-comes-first-the-view-or-the-viewmodel/"&gt;http://www.sparklingclient.com/which-comes-first-the-view-or-the-viewmodel/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Commanding - &lt;a href="http://www.sparklingclient.com/commanding-in-prism/"&gt;http://www.sparklingclient.com/commanding-in-prism/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Event Aggregator - &lt;a href="http://www.sparklingclient.com/prisms-event-aggregator/"&gt;http://www.sparklingclient.com/prisms-event-aggregator/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h5&gt;&amp;#160;&lt;/h5&gt;  &lt;h5&gt;Blog Posts&lt;/h5&gt;  &lt;blockquote&gt;   &lt;p&gt;10 Things to Know about Silverlight Prism (overview of all resources) - &lt;a href="http://www.sparklingclient.com/prism-silverlight/"&gt;http://www.sparklingclient.com/prism-silverlight/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Downloading and Building Prism - &lt;a href="http://www.sparklingclient.com/downloading-and-building-prism/"&gt;http://www.sparklingclient.com/downloading-and-building-prism/&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fd64b2ab-9b2d-47b0-bbc1-b4283c6dce41" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Prism" rel="tag"&gt;Prism&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/p%26p" rel="tag"&gt;p&amp;amp;p&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9820208" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Enterprise Library 5.0: Some Architecture Changes</title><link>http://blogs.msdn.com/bobbrum/archive/2009/06/23/enterprise-library-5-0-some-architecture-changes.aspx</link><pubDate>Wed, 24 Jun 2009 06:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9800768</guid><dc:creator>brumfb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9800768.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9800768</wfw:commentRss><description>&lt;p&gt;The Enterprise Library team has been hard at work on some of our initial stories. One of the bigger initial stories is what we’ve affectionately call ARC01. I know, very descriptive, so let me explain a bit of what this is about.&lt;/p&gt;  &lt;h3&gt;The Doublemint Twins&lt;/h3&gt;  &lt;p&gt;Enterprise Library 4.0 (and 4.1) actually had two ways of locating and building object for its various blocks: through static factories or through a Unity dependency injection container.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_thumb.png" width="535" height="310" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Actually, having two approaches to building up objects in Enterprise Library 4.0 was intentional. Honest. Really. I mean it. While it may seem a bit odd, this was an intermediate step to moving entirely to a container approach for Enterprise Library.&lt;/p&gt;  &lt;p&gt;This move is important for a number of reasons (and not just because we also wrote the Unity container). First, this is important because the static factory approach does not work well for those people who use containers in their applications and want to be able to get Enterprise Library objects from their container. Second, it is important because the instance factories in Enterprise Library 4.0 are handling things that containers are designed to handle, such as lifetime, location, and object creation. It doesn’t make sense to build and maintain these specifically for Enterprise Library.&lt;/p&gt;  &lt;p&gt;Enterprise Library 4.0 took a step towards the container world by providing an approach to &lt;/p&gt;  &lt;p&gt;configuring a Unity container with the appropriate Enterprise Library pieces. However, this means that you generally want to use either the static factory approach or the container approach, because objects created in one approach do not work with objects in another approach. We were really maintaining two sets of objects and &lt;a&gt;building strategies&lt;/a&gt; (that is, the approach to building up those objects in case we need to rebuild them).&lt;/p&gt;  &lt;p&gt;As the final step towards moving to using a single container, we now have the static/instance factories that rely on the same container that you could configure independently. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_thumb_1.png" width="518" height="300" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So you can use the static factories, instance factories, or the container and they will all work together.&lt;/p&gt;  &lt;p&gt;While this sounds easy, plugging container B into slot A is not as straightforward as you might think. To start with, Enterprise Library 4.0 relied on many ObjectBuilder internals to build objects and frequently would apply configuration during object creation:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_thumb_2.png" width="522" height="232" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We wanted to use the containers in a more traditional way, namely by providing the configuration ahead of time and then using the container to resolve objects, so now we configure the container the first time something needs to be resolved:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_thumb_3.png" width="522" height="262" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;After the container has been configured, the EnterpriseLibraryContainer will directly reference the UnityContainer.&lt;/p&gt;  &lt;h3&gt;Why Can’t We All Just Get Along?&lt;/h3&gt;  &lt;p&gt;Aside from making the Enterprise Library story a bit cleaner, moving to a container-based approach has another benefit; it makes it easier to provide support for other containers to work with Enterprise Library. By default, the EnterpriseLibraryContainer provides EnterpriseLibrary objects through a UnityContainer but it does so through the IServiceLocator&lt;strong&gt; &lt;/strong&gt;interface provided by the &lt;a href="http://www.codeplex.com/CommonServiceLocator"&gt;Common Service Locator project&lt;/a&gt;. The Common Service Locator was a join effort of thought leaders and key contributors representing various containers (including Unity, Spring.NET, Castle/Windsor, MEF, StructureMap, Ninject).&lt;/p&gt;  &lt;p&gt;The IServiceLocator serves as a plug point for Enterprise Library to work with a container other than Unity. The IServiceLocator only deals with how to acquire object instance, we also needed a way to let a container know how it should be configured to support Enterprise Library without letting Enterprise Library know anything about a specific container. We provide this configuration information in a container agnostic way through a set of TypeRegistrations. Generally, a&lt;em&gt; &lt;/em&gt;type registration will contain information about how a type should be built (what constructors and parameter values to use, whether to create them as a singleton or instance each time, and what properties to set on the type). Here’s a typical type registration:     &lt;br /&gt;&lt;/p&gt;  &lt;div id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; TypeRegistration&amp;lt;Database&amp;gt;(&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;     () =&amp;gt; &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlDatabase(&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;                 ConnectionString,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;                 Container.Resolved&amp;lt;IDataInstrumentationProvider&amp;gt;(Name)))&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;         Name = Name,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;         Lifetime = TypeRegistrationLifetime.Transient&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Type registrations are specified as expression trees as it makes them a bit easier to read and they tend to work better when refactoring code. The above registration can basically be interpreted as ‘register a type Database named Name that is mapped to a new instance each time of type SqlDatabase and use the constructor that takes a ConnectionString and an IDataInstrumentationProvider (oh, and by the way, can you pretty please resolve that from the container too?)’.&lt;/p&gt;

&lt;p&gt;These registrations are processed by a configurator that knows how to apply them to a specific container. Enterprise Library provides a UnityContainerConfigurator, but you can use any other IContainerConfigurator. The general configuration process looks like this:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/c0ab2bba79d7_BBA9/image_thumb_4.png" width="523" height="292" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Configuring Enterprise Library, given a configuration source and a container configurator can be done like this: 
  &lt;br /&gt;&lt;/p&gt;

&lt;div id="codeSnippetWrapper"&gt;
  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;
    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; var configurator = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; UnityContainerConfigurator(Container);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;&amp;#160; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; EnterpriseLibraryContainer.ConfigureContainer(&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     configurator, &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     configurationSource);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Hopefully this gives you a little deeper understanding of the motivation and content for recent changes in Enterprise Library.&amp;#160; In future posts, I hope to go into a bit more depth around how we find type registrations and some of the cleanup we did around instrumentation.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a96b48ac-bd1e-4d62-8c6e-6d4ff6ce9278" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/entlib+Enterprise+Library+p%26p" rel="tag"&gt;entlib Enterprise Library p&amp;amp;p&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9800768" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/entlib/default.aspx">entlib</category></item><item><title>The Great Prism Poll of 2009</title><link>http://blogs.msdn.com/bobbrum/archive/2009/04/01/the-great-prism-poll-of-2009.aspx</link><pubDate>Thu, 02 Apr 2009 00:57:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9527979</guid><dc:creator>brumfb</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9527979.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9527979</wfw:commentRss><description>&lt;p&gt;If you have looked at, thought about, dreamed about, forgotten about then suddenly remembered, used, or abused the Composite Application Guidance for WPF or Silverlight, please take our recently released poll to let us know how it has been working for you.&amp;#160; We are going to start planning the next release and we would love to hear about what you think is working, not working, and where it should go.&lt;/p&gt;  &lt;p&gt;You can find the survey &lt;a href="http://www.zoomerang.com/Survey/survey-intro.zgi?p=WEB228YSYYRK4A" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9527979" width="1" height="1"&gt;</description></item><item><title>Enterprise Library Needs Your Vote</title><link>http://blogs.msdn.com/bobbrum/archive/2009/03/27/enterprise-library-needs-your-vote.aspx</link><pubDate>Fri, 27 Mar 2009 19:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9514570</guid><dc:creator>brumfb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9514570.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9514570</wfw:commentRss><description>&lt;p&gt;Grigori Melnik has &lt;a href="http://blogs.msdn.com/agile/archive/2009/03/27/enterprise-library-5-0-tentative-product-backlog-published-story-feature-prioritization-is-open-your-participation-is-invited.aspx"&gt;posted a survey&lt;/a&gt; on features for Enterprise Library v5.&amp;#160; Please take a look and vote on your favorite features.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9514570" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Enterprise+Library/default.aspx">Enterprise Library</category></item><item><title>Composite Application Guidance for WPF and Silverlight, now in VB Flavor</title><link>http://blogs.msdn.com/bobbrum/archive/2009/03/24/composite-application-guidance-for-wpf-and-silverlight-now-in-vb-flavor.aspx</link><pubDate>Wed, 25 Mar 2009 03:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9505850</guid><dc:creator>brumfb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9505850.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9505850</wfw:commentRss><description>&lt;p&gt;Many have asked for a Visual Basic version of the Composite Application Guidance for WPF and Silverlight (aka Prism v2).&amp;#160; We are pleased to offer the Hands-On Labs and Quickstarts in Visual Basic.&amp;#160; While the Composite Application Library is still in C#, the examples of how to use the library are in VB for this.&lt;/p&gt;  &lt;p&gt;You can &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=537da1cd-43e1-4799-88e7-a1da9166fb46"&gt;download these&lt;/a&gt; from MSDN.&amp;#160; Drop us a note on the &lt;a href="http://www.codeplex.com/CompositeWPF/"&gt;Codeplex forum&lt;/a&gt; if you have any questions or problems.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9505850" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Building Outlook Style Applications with Prism</title><link>http://blogs.msdn.com/bobbrum/archive/2009/03/02/building-outlook-style-applications-with-prism.aspx</link><pubDate>Tue, 03 Mar 2009 04:27:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9455598</guid><dc:creator>brumfb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9455598.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9455598</wfw:commentRss><description>&lt;p&gt;Erwin has posted on &lt;a href="http://blogs.msdn.com/erwinvandervalk/archive/2009/03/02/how-to-build-an-outlook-style-application.aspx"&gt;building an Outlook style application&lt;/a&gt;.&amp;#160; He shows a number of nice features in this that you might find interesting, particularly the UseCaseControllers and the ViewToRegionBinder.&lt;/p&gt;  &lt;p&gt;See his post to find out more.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9455598" width="1" height="1"&gt;</description></item><item><title>Building a Prism Application: The Complete Series</title><link>http://blogs.msdn.com/bobbrum/archive/2009/02/27/building-a-prism-application-the-complete-series.aspx</link><pubDate>Sat, 28 Feb 2009 00:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9449722</guid><dc:creator>brumfb</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9449722.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9449722</wfw:commentRss><description>&lt;p&gt;The final two parts are available for the webcast Erwin and I were working on, links to the complete series are available below.&amp;#160; This web cast has 4 short videos on building a search aggregator composite application using the Prism library.&amp;#160; Through these videos we hope to give you an idea of how to put together a composite application and some of the tools Prism has to offer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Part I: Basic solution layout and adding a module (10 minutes)&lt;/strong&gt;&lt;/p&gt; &lt;iframe height="325" src="http://channel9.msdn.com/posts/akmsft/458686/player/" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/posts/akmsft/458686//player/"&gt;&lt;/iframe&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Part II: Visual Composition (10 minutes)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;iframe height="325" src="http://channel9.msdn.com/posts/akmsft/458817/player/" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/posts/akmsft/458817//player/"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Part III: Implementing the View and Using Services (22 minutes)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;iframe height="325" src="http://channel9.msdn.com/posts/akmsft/458854/player/" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/posts/akmsft/458854//player/"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Part IV: Decoupled Communication (24 minutes)&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;iframe height="325" src="http://channel9.msdn.com/posts/akmsft/458855/player/" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/posts/akmsft/458855//player/"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9449722" width="1" height="1"&gt;</description></item><item><title>Building a Prism Application WebCast: Part II Available</title><link>http://blogs.msdn.com/bobbrum/archive/2009/02/26/building-a-prism-application-webcast-part-ii-available.aspx</link><pubDate>Fri, 27 Feb 2009 03:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9445337</guid><dc:creator>brumfb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9445337.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9445337</wfw:commentRss><description>&lt;p&gt;The second web cast on building our Prism application is now available on Channel 9.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/erwinvandervalk/"&gt;Erwin van der Valk&lt;/a&gt; and I are building a sample Silverlight Prism application to aggregate Digg and Twitters searches.&amp;#160; It will look something like the picture below when we’re done:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/BuildingaPrismApplicationWebCastPartIIAv_106AE/image_2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/BuildingaPrismApplicationWebCastPartIIAv_106AE/image_thumb.png" width="413" height="286" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The first part of our web cast created a shell and the Digg module.&amp;#160; In the second web cast, we demonstrate creating regions (named placeholders for views) and adding views into it.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;iframe height="325" src="http://channel9.msdn.com/posts/akmsft/458817/player/" frameborder="0" width="320" scrolling="no" mce_src="http://channel9.msdn.com/posts/akmsft/458817//player/"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9445337" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Prism V2 Refreshed</title><link>http://blogs.msdn.com/bobbrum/archive/2009/02/26/prism-v2-refreshed.aspx</link><pubDate>Fri, 27 Feb 2009 03:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9447558</guid><dc:creator>brumfb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9447558.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9447558</wfw:commentRss><description>&lt;p&gt;We’ve refreshed the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fa07e1ce-ca3f-4b9b-a21b-e3fa10d013dd&amp;amp;DisplayLang=en"&gt;Prism V2 release bits on MSDN&lt;/a&gt; due to a couple issues we found and decided were worth updating the bits.&lt;/p&gt;  &lt;p&gt;The first problem related to how regions worked with the TabControl.&amp;#160; In Prism V1, you could activate a view in a TabControl region, like such:&lt;/p&gt;  &lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;   &lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;     &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; var view1 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; TextBlock() { Text = &lt;span style="color: #006080"&gt;&amp;quot;Tab1&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; var view2 = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; TextBlock() { Text = &lt;span style="color: #006080"&gt;&amp;quot;Tab2&amp;quot;&lt;/span&gt; };&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; var region = regionManager.Regions[&lt;span style="color: #006080"&gt;&amp;quot;TabRegion&amp;quot;&lt;/span&gt;];&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; region.Add(view1);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; region.Add(view2);&lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;

    &lt;pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &amp;#39;Courier New&amp;#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt; region.Activate(view2); &lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This would, appropriately, activate view2 with the V1 bits.&amp;#160; In V2, the behavior was that the view would not activate.&amp;#160; This would clearly make life difficult for those migrating from V1 to V2, so we wanted to fix it quickly.&lt;/p&gt;

&lt;p&gt;The second problem relates to a Silverlight update that breaks one of the unit tests looking for Silverlight references.&amp;#160;&amp;#160; &lt;/p&gt;

&lt;p&gt;You can get more details on &lt;a href="http://compositewpf.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=23450"&gt;release page&lt;/a&gt; of the Codeplex site.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9447558" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Building a Prism Application WebCast: Part I Available</title><link>http://blogs.msdn.com/bobbrum/archive/2009/02/24/building-a-prism-application-webcast-part-i-available.aspx</link><pubDate>Wed, 25 Feb 2009 08:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9443574</guid><dc:creator>brumfb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9443574.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9443574</wfw:commentRss><description>&lt;P&gt;Erwin van der Valk and I have worked up a four part web cast on building a Prism application.&amp;nbsp; The first of these has been posted to Channel 9, you can find it &lt;A href="http://channel9.msdn.com/posts/akMSFT/Creating-a-modular-application-using-Prism-V2-Part-1-of-4--Creating-a-shell-and-modules/" mce_href="http://channel9.msdn.com/posts/akMSFT/Creating-a-modular-application-using-Prism-V2-Part-1-of-4--Creating-a-shell-and-modules/"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;We kept these intentionally short, about 10-20 minutes, and centered around a single topic.&amp;nbsp; Our hope is this lets you quickly get through some key concepts or pick up where you would like to in the series.&amp;nbsp; The various parts will include creating modules, creating shells and views, UI composition, and services.&lt;/P&gt;
&lt;P&gt;If there are other things you'd like to see webcasts on, please leave a request as a comment.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9443574" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Composite Guidance for Silverlight and WPF (aka Prism V2)Released!</title><link>http://blogs.msdn.com/bobbrum/archive/2009/02/18/composite-guidance-for-silverlight-and-wpf-aka-prism-v2-released.aspx</link><pubDate>Thu, 19 Feb 2009 01:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9432690</guid><dc:creator>brumfb</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9432690.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9432690</wfw:commentRss><description>&lt;p&gt;We are very proud to release the Composite Application Guidance for Silverlight and WPF (which we often refer to as Prism V2).&amp;#160; This release takes the composite story we developed for WPF and brings it to Silverlight.&amp;#160; Additionally, we have some good guidance (and a little tooling) to help with building applications that target both WPF and Silverlight.&lt;/p&gt;  &lt;h4&gt;What’s new with V2?&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Composite scenarios for Silverlight &lt;/li&gt;    &lt;li&gt;Multi-targeting WPF and Silverlight applications &lt;/li&gt;    &lt;li&gt;Improved UI Composition with support for view injection and view discovery &lt;/li&gt;    &lt;li&gt;Quickstarts and RI for both Silverlight and WPF &lt;/li&gt;    &lt;li&gt;Expanded documentation to include Silverlight-focused areas as well as more details about the MVVM / PresentationModel pattern &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;Learning More&lt;/h4&gt;  &lt;p&gt;To download the source and find the latest docs, go to the &lt;a href="http://www.microsoft.com/compositewpf" target="_blank"&gt;MSDN landing page&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;You can find community forums and issues on the &lt;a href="http://www.codeplex.com/CompositeWPF" target="_blank"&gt;Prism Codeplex pages&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can get a &lt;a href="http://channel9.msdn.com/shows/Continuum/Prismv2/"&gt;brief introduction&lt;/a&gt; to Prism from Blaine on Channel 9.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/shows/Continuum/Prismv2/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="BlaineOverviewImage" border="0" alt="BlaineOverviewImage" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/CompositeGuidanceforSilverlightandWPFaka_E25D/BlaineOverviewImage_3.jpg" width="173" height="123" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Blaine and I also give an &lt;a href="http://channel9.msdn.com/posts/akMSFT/What-is-Prism-v2/"&gt;overview of Prism&lt;/a&gt; posted on Channel 9:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/akMSFT/What-is-Prism-v2/"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="BobBlaineOverview" border="0" alt="BobBlaineOverview" src="http://blogs.msdn.com/blogfiles/bobbrum/WindowsLiveWriter/CompositeGuidanceforSilverlightandWPFaka_E25D/BobBlaineOverview_3.jpg" width="180" height="112" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I am also working on a number of getting-started style screen-casts with Erwin, another dev on the project, to help build a complete Prism-based application to help you get started.&amp;#160; These will show up on &lt;a href="http://channel9.msdn.com"&gt;Channel 9&lt;/a&gt; too so stay tuned.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9432690" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Prism V2 – Drop 10 Now Available</title><link>http://blogs.msdn.com/bobbrum/archive/2009/01/30/prism-v2-drop-10-now-available.aspx</link><pubDate>Sat, 31 Jan 2009 05:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9385653</guid><dc:creator>brumfb</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9385653.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9385653</wfw:commentRss><description>&lt;p&gt;The &lt;a href="http://www.codeplex.com/CompositeWPF/Release/ProjectReleases.aspx?ReleaseId=22566" target="_blank"&gt;latest Prism drop&lt;/a&gt; is out on Codeplex.&amp;#160; You should get it.&amp;#160; Right now. Dinner will wait.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9385653" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item><item><title>Prism V2 – Drop 9 Now Available</title><link>http://blogs.msdn.com/bobbrum/archive/2009/01/16/prism-v2-drop-9-now-available.aspx</link><pubDate>Sat, 17 Jan 2009 01:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9332379</guid><dc:creator>brumfb</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/bobbrum/comments/9332379.aspx</comments><wfw:commentRss>http://blogs.msdn.com/bobbrum/commentrss.aspx?PostID=9332379</wfw:commentRss><description>&lt;p&gt;The 9th drop is now available for Prism V2 and you can find it &lt;a target="_blank" href="http://www.codeplex.com/CompositeWPF/Release/ProjectReleases.aspx?ReleaseId=21912"&gt;here&lt;/a&gt;.&amp;#160; We are approaching the end of the Prism V2 project, targeting mid-February for the final release.&amp;#160; So now’s a good time to download it and take a look.&lt;/p&gt;  &lt;p&gt;One of the big items we’re working on is re-skinning the reference implementation.&amp;#160; Here is what the new UI looks like:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/image_38F50C91.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/image_thumb_18C9DA07.png" width="484" height="365" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We’re also focusing on getting the docs completed and have now merged the “new” content with the “old” content (we had just been releasing any new or updated content to make easier for folks to see the changing documents).&amp;#160; Here’s a screenshot of part of the contents:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/bobbrum/image_106604B0.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/bobbrum/image_thumb_64F1BDE8.png" width="446" height="772" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Download the source to checkout the entire help-file with all the contents.&amp;#160; Keep in mind that we’re still working to clean up many of the documents to reference any new concepts introduced during Prism V2 development, so there may be some documents that aren’t consistent with the V2 libraries yet.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9332379" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/bobbrum/archive/tags/Prism/default.aspx">Prism</category><category domain="http://blogs.msdn.com/bobbrum/archive/tags/p_2600_amp_3B00_p/default.aspx">p&amp;amp;p</category></item></channel></rss>