<?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>Espresso Fueled Agile Development : WPF</title><link>http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx</link><description>Tags: WPF</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>How to migrate from CAB/SCSF to Composite WPF</title><link>http://blogs.msdn.com/mpuleio/archive/2008/10/14/how-to-migrate-from-cab-scsf-to-composite-wpf.aspx</link><pubDate>Tue, 14 Oct 2008 20:12:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8998323</guid><dc:creator>mpuleio</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8998323.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8998323</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8998323</wfw:comment><description>&lt;p&gt;Blaine recently posted that there is a &lt;a target="_blank" href="http://blogs.msdn.com/blaine/archive/2008/09/30/cab-to-prism-comparison-available-on-codeplex.aspx"&gt;CAB to Prism Comparison Available on Codeplex&lt;/a&gt;.&amp;nbsp; This links to &lt;a target="_blank" href="http://www.codeplex.com/CompositeWPF/Release/ProjectReleases.aspx?ReleaseId=16941"&gt;Composite Application Guidance for CAB Developers&lt;/a&gt;, a download from the CompositeWPF community site.&lt;/p&gt; &lt;p&gt;While this document does not help you decide &lt;strong&gt;IF&lt;/strong&gt;[*]&lt;strong&gt; &lt;/strong&gt;you should switch from &lt;a target="_blank" href="http://www.codeplex.com/smartclient"&gt;CAB/SCSF&lt;/a&gt; to &lt;a target="_blank" href="http://www.codeplex.com/CompositeWPF"&gt;CompositeWPF&lt;/a&gt;, it does help with &lt;strong&gt;HOW&lt;/strong&gt;, the differences between the two coding models, where the WorkItem went, how to emulate the behavior of WorkItems, and a few other interesting things.&amp;nbsp; I&lt;em&gt;f you are a CAB developer considering the transition to WPF, you should definitely read this.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[*] Deciding which to use should be fairly simple:&amp;nbsp; If you already know CAB/SCSF and you need to work in Windows Forms, stick with CAB/SCSF.&amp;nbsp; If you need to host some WPF widgets in a Windows Forms environment, use CAB/SCSF.&amp;nbsp; If you need a full WPF stack, use the Composite WPF guidance.&amp;nbsp; If you are not constrained by the technology choice, things get tricky and the decision should factor in a whole bunch of factors including (but not limited to) which framework you are more comfortable in, which your team is more comfortable with, and where you see future investments in technology going.&amp;nbsp; For each team/group/organization/company this is a different decision with different factors to consider.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8998323" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Windows+Forms/default.aspx">Windows Forms</category></item><item><title>Composite Application Guidance for WPF Shipped!</title><link>http://blogs.msdn.com/mpuleio/archive/2008/07/31/composite-application-guidance-for-wpf-shipped.aspx</link><pubDate>Thu, 31 Jul 2008 20:26:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8793821</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8793821.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8793821</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8793821</wfw:comment><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;A while back, I was Dev Lead on the Smart Client Software Factory (SCSF) when we added the ability to host WPF controls in a Composite Application Block (CAB) application. Since then, the thinking in the WPF space has changed a bit, and p&amp;amp;p decided that offering guidance on full WPF applications was a good idea.&amp;nbsp; &lt;a href="http://blogs.msdn.com/blaine" target="_blank"&gt;Blaine&lt;/a&gt;, &lt;a href="http://blogs.msdn.com/francischeung" target="_blank"&gt;Francis&lt;/a&gt;, Bob, and &lt;a href="http://blogs.msdn.com/gblock" target="_blank"&gt;Glenn&lt;/a&gt; have worked with a great team to create guidance for building composite applications using WPF. This guidance was started from a clean slate, as there are enough differences between Windows Forms and WPF (as we learned doing SCSF) to cause challenges.&amp;nbsp; The result is the &lt;a href="http://msdn.microsoft.com/en-us/library/cc707819.aspx" target="_blank"&gt;Composite Application Guidance for WPF June 2008&lt;/a&gt;, which recently shipped (formerly code-named &lt;a href="http://codeplex.com/CompositeWPF" target="_blank"&gt;Prism&lt;/a&gt;).&amp;nbsp; This guidance is simple, easy to consume, can be used piecemeal, and should not have the steep learning curve that CAB and SCSF have.&amp;nbsp; You can learn more at the &lt;a href="http://codeplex.com/CompositeWPF" target="_blank"&gt;Prism CodePlex Community Site&lt;/a&gt;, or at any of the places below.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Check out Francis's post, &lt;a href="http://blogs.msdn.com/francischeung/archive/2008/07/17/shipped-composite-application-guidance-for-wpf-june-2008.aspx" target="_blank"&gt;SHIPPED!!! Composite Application Guidance for WPF June 2008&lt;/a&gt;, for details and where to get it.&lt;/p&gt; &lt;p&gt;Or take a look at Glenn's post on the subject: &lt;a href="http://blogs.msdn.com/gblock/archive/2008/07/03/composite-application-guidance-is-live.aspx"&gt;Composite Application Guidance is Live&lt;/a&gt;&lt;/p&gt; &lt;p&gt;And here are a few other posts about what they have been up to, by person in chronological order:&lt;/p&gt; &lt;p&gt;From Francis:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/01/28/composite-wpf-guidance.aspx"&gt;Composite WPF Guidance&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/01/28/di-or-not-di.aspx"&gt;DI or not DI&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/05/29/decoupled-communication-with-prism-intro.aspx"&gt;Decoupled Communication with Prism (intro)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/05/29/decoupled-communication-with-prism-shared-views-services.aspx"&gt;Decoupled Communication with Prism (Shared Services)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/05/30/decoupled-communication-with-prism-commanding.aspx"&gt;Decoupled Communication with Prism (Commanding)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/06/02/decoupled-communication-with-prism-event-aggregation.aspx"&gt;Decoupled Communication with Prism (Event Aggregation)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/06/16/poor-man-s-ui-composition.aspx"&gt;Poor man's UI Composition&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/francischeung/archive/2008/07/16/activeaware-views-and-commands.aspx"&gt;ActiveAware Views and Commands&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;From Blaine:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/blaine/archive/2008/05/15/track-prim-project.aspx"&gt;Track Prism project&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/blaine/archive/2008/06/08/loosely-couple-communication.aspx"&gt;Loosely coupled communication&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;From Glenn:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/03/12/prism-launches-on-codeplex.aspx"&gt;'Prism' launches on CodePlex&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/03/12/prism-ri-first-drop.aspx"&gt;'Prism' RI first drop&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/03/26/prism-drop-2.aspx"&gt;Prism Drop 2&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/04/01/prism-talk-at-wpf-bootcamp.aspx"&gt;Prism talk at WPF Bootcamp&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/04/27/the-prism-team-and-how-we-develop.aspx"&gt;The Prism team and how we develop&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/04/29/brian-noyes-thoughts-on-prism.aspx"&gt;Brian Noyes thoughts on Prism&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/05/05/prismshouldnotreferenceunity.aspx"&gt;PrismShouldNotReferenceUnity&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/05/08/prism-vs-framework-xxx.aspx"&gt;Prism vs Framework XXX&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/05/08/wpf-from-this-to-that-wow.aspx"&gt;WPF, from this to that..Wow!&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/05/11/prism-cab-and-winforms-futures.aspx"&gt;Prism, CAB, and WinForms futures&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/05/24/using-viewmodels-and-datatemplates-to-compose-your-ui.aspx"&gt;Using ViewModels and DataTemplates to compose your UI&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/06/04/loosely-coupled-communication-prism-style.aspx"&gt;Loosely coupled communication - Prism style&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/06/12/stocktrader-ri-using-castle-windsor.aspx"&gt;StockTrader RI using Castle Windsor&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/06/30/composite-application-guidance-time-to-ship.aspx"&gt;Composite Application Guidance, time to ship&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/06/30/talking-about-prism-with-infoq.aspx"&gt;Talking about Prism with InfoQ&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/07/01/how-prism-supports-using-multiple-ioc-containers.aspx"&gt;How Prism supports using multiple IOC containers&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/07/02/composite-application-guidance-what-is-it.aspx"&gt;Composite Application Guidance - What is it?&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.msdn.com/gblock/archive/2008/07/03/composite-application-guidance-is-live.aspx"&gt;Composite Application Guidance is Live&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I know I am looking forward to using this guidance when I get a chance to work with WPF more seriously.&lt;/p&gt; &lt;p&gt;Enjoy.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8793821" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category></item><item><title>Smart Client Software Factory – April 2008 Release is available on MSDN</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/25/smart-client-software-factory-april-2008-release-is-available-on-msdn.aspx</link><pubDate>Sat, 26 Apr 2008 03:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8425078</guid><dc:creator>mpuleio</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8425078.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8425078</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8425078</wfw:comment><description>&lt;P&gt;The April 2008 release of the Smart Client Software Factory is now available at &lt;A href="http://msdn2.microsoft.com/en-us/library/aa480482.aspx" target=_blank&gt;&lt;FONT color=#0000ff&gt;http://msdn2.microsoft.com/en-us/library/aa480482.aspx&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;This is a port of the last release&amp;nbsp;(May 2007,&amp;nbsp;if I recall&amp;nbsp;correctly)&amp;nbsp;to VS2008.&amp;nbsp; No new features were added.&amp;nbsp; A few bugs were fixed, and a number of work items from CodePlex were closed.&lt;/P&gt;
&lt;P&gt;This release supports Enterprise Library 3.1.&amp;nbsp; It does not support Enterprise Library 4.0.&amp;nbsp; If you want EntLib 4.0 (once it is released) you have the source code, and should be able to get it to work, if you really need to.&amp;nbsp; I would not recommend it, as you will end up with two containers (Unity and the CAB container), which means code bloat and challenges deciding where objects should go.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8425078" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Example+Driven+Design+_2800_Formerly+TDD_2900_/default.aspx">Example Driven Design (Formerly TDD)</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Windows+Forms/default.aspx">Windows Forms</category></item><item><title>Smart Client Software Factory April 2008 Release Candidate Available</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/21/smart-client-software-factory-april-2008-release-candidate-available.aspx</link><pubDate>Tue, 22 Apr 2008 00:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8415422</guid><dc:creator>mpuleio</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8415422.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8415422</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8415422</wfw:comment><description>&lt;P&gt;Friday, I posted we had a solid Beta.&amp;nbsp; Today, I am letting you know that &lt;A href="http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=12765" target=_blank mce_href="http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=12765"&gt;SCSF now has a Release Candidate (RC)&lt;/A&gt;.&amp;nbsp; The bug that appeared Friday is, we think, fixed.&amp;nbsp; We actually published the RC before we completed any internal testing, so the customer who reported the issue would have a chance to verify the fix works on their system ASAP.&amp;nbsp; Don't worry, we will&amp;nbsp;do a&amp;nbsp;solid test pass before determining if&amp;nbsp;this RC will become&amp;nbsp;the official release.&amp;nbsp;(The fact that we are confident in our build system and the automated tests there helps with this sort of turnaround. :-) ) &lt;/P&gt;
&lt;P&gt;Please try out the &lt;A href="http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=12765" target=_blank mce_href="http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=12765"&gt;Smart Client Software Factory April 2008 Release Candidate,&lt;/A&gt; and report any issues on the &lt;A href="http://www.codeplex.com/smartclient" target=_blank mce_href="http://www.codeplex.com/smartclient"&gt;SCSF CodePlex community site&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8415422" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Windows+Forms/default.aspx">Windows Forms</category></item><item><title>Smart Client Software Factory April 2008 Beta Available</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/18/smart-client-software-factory-april-2008-beta-available.aspx</link><pubDate>Sat, 19 Apr 2008 01:34:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8409262</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8409262.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8409262</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8409262</wfw:comment><description>&lt;p&gt;The &lt;a href="http://www.codeplex.com/smartclient/Release/ProjectReleases.aspx?ReleaseId=12699"&gt;SCSF April 2008 Beta Release&lt;/a&gt; that supports Visual Studio 2008 is now available.&lt;/p&gt; &lt;p&gt;We fixed all the known issues from the Alpha.&amp;nbsp; It is &lt;strong&gt;solid&lt;/strong&gt;, and may actually be a release candidate, rather than a beta.&lt;/p&gt; &lt;p&gt;Enjoy.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8409262" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Windows+Forms/default.aspx">Windows Forms</category></item><item><title>Smart Client Software Factory April 2008 Alpha Available</title><link>http://blogs.msdn.com/mpuleio/archive/2008/04/10/smart-client-software-factory-april-2008-alpha-available.aspx</link><pubDate>Fri, 11 Apr 2008 01:16:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8376894</guid><dc:creator>mpuleio</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8376894.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8376894</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8376894</wfw:comment><description>&lt;p&gt;For the past month or so, Blaine and I have been &lt;em&gt;overseeing&lt;/em&gt; the development of the April release of the Smart Client Software Factory.&amp;nbsp; This release is being done mostly by a team of vendors, freeing Blaine to run Prism and I to run the Acceptance Testing Guidance project.&amp;nbsp; Blaine and I are still very involved, and I still review code changes at random, but the team does most of the work.&amp;nbsp; The team has been doing a great job, and I think the community will be pleased with the results.&lt;/p&gt; &lt;p&gt;This is a port of SCSF to VS2008 and the .NET 3.5 framework.&amp;nbsp; It uses Enterprise Library 3.1, not 4.0, intentionally.&amp;nbsp; There is very little in 4.0 that will effect CAB and SCSF development, except Unity.&amp;nbsp; Using Unity would require a nearly full re-write of CAB, and we don't currently have the time or people to do it right and deliver on our other commitments.&amp;nbsp; However, if you really need EntLib4.0, it should work, and if not, you have the source code to fix it.&lt;/p&gt; &lt;p&gt;We did need to create a custom data provider to wrap the SqlCE functionality, as the version number of the platform DLL went from 9.x to 3.5.&amp;nbsp; This replaces the EntLib 3.1 provider for SQLCE.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Also, this version of SCSF, just like the last one, supports hosting WPF controls in your WinForms CAB application.&amp;nbsp; It does not support a full WPF app.&amp;nbsp; For that, you want to see &lt;a href="http://www.codeplex.com/prism" target="_blank"&gt;Prism&lt;/a&gt; or the Smart Client Factory Contrib project on CodePlex.&lt;/p&gt; &lt;p&gt;We are also fixing a few bugs, and updating the guidance package (Visual Studio automation) to work in VS2008.&lt;/p&gt; &lt;p&gt;You can &lt;a href="https://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=smartclient&amp;amp;ReleaseId=12468" target="_blank"&gt;download the Alpha release&lt;/a&gt; from the &lt;a href="http://www.codeplex.com/smartclient" target="_blank"&gt;SCSF CodePlex community site&lt;/a&gt;.&amp;nbsp; &lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;strong&gt;&lt;em&gt;Warning&lt;/em&gt;&lt;/strong&gt;: This is an Alpha.&amp;nbsp; We did a &lt;em&gt;minimal&lt;/em&gt; amount of testing ("It compiles and links."&amp;nbsp; -- "Good enough.&amp;nbsp; Ship it"), and the computer we installed it on still boots, still runs VS, and &lt;em&gt;seems&lt;/em&gt; ok.&amp;nbsp; Use at your own risk.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;We are trying to get this project wrapped up this month.&amp;nbsp; If you see issues, please post them to the Issue Tracker at the &lt;a href="http://www.codeplex.com/smartclient" target="_blank"&gt;SCSF CodePlex community site&lt;/a&gt;, and/or post to the discussion forum there.&amp;nbsp; We will try to get any major problems, but will not be adding features.&lt;/p&gt; &lt;p&gt;Blaine is also posting about this &lt;a href="http://blogs.msdn.com/blaine/archive/2008/04/10/scsf-april-2008-alpha-for-visual-studio-2008-published-to-codeplex.aspx" target="_blank"&gt;SCSF April 2008 Alpha for Visual Studio 2008 Published to CodePlex&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8376894" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Windows+Forms/default.aspx">Windows Forms</category></item><item><title>Weird COM Exceptions in SCSF/CAB Unit Tests</title><link>http://blogs.msdn.com/mpuleio/archive/2008/03/19/weird-com-exceptions-in-scsf-cab-unit-tests.aspx</link><pubDate>Wed, 19 Mar 2008 22:17:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8326122</guid><dc:creator>mpuleio</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/8326122.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=8326122</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=8326122</wfw:comment><description>&lt;p&gt;&lt;/p&gt; &lt;p&gt;The SCSF project was getting a weird error with the unit tests that were brought forward from VS2005 to VS2008. &lt;p&gt;All the unit tests would pass, however the test run would fail with the following error in a special log file: &lt;blockquote&gt; &lt;p&gt;&lt;font face="Consolas" color="#ff0000"&gt;One of the background threads threw exception: System.Runtime.InteropServices.InvalidComObjectException: COM object that has been separated from its underlying RCW cannot be used.&lt;br&gt;at System.Windows.Input.TextServicesContext.StopTransitoryExtension()&lt;br&gt;at System.Windows.Input.TextServicesContext.Uninitialize(Boolean appDomainShutdown)&lt;br&gt;at System.Windows.Input.TextServicesContext.OnAppDomainUnloaded(Object sender, EventArgs args)&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Of course, we had hundreds of these messages, and no way to correlate them with a specific unit test. &lt;p&gt;After some work, I was able to find a single repro case.&amp;nbsp; After some research, it looks like &lt;b&gt;any&lt;/b&gt; unit test that creates a Window of any type will do this. The fix is to add a TestCleanup method to your fixture like this one: &lt;blockquote&gt; &lt;p&gt;&lt;font face="Consolas" color="#008000"&gt;// Added a TestCleanup method to deal with the fact that the code was throwing an InvalidComObjectException&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas" color="#008000"&gt;// with the information "COM object that has been separated from its underlying RCW cannot be used."&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas" color="#008000"&gt;// Fix is based on this bug logged on Connect.Microsoft.Com:&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#008000"&gt;// &lt;/font&gt;&lt;a href="http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=318333"&gt;&lt;font color="#008000"&gt;http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=318333&lt;/font&gt;&lt;/a&gt;&lt;font color="#008000"&gt;&amp;nbsp;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;[TestCleanup]&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&lt;font color="#0000ff"&gt;public void&lt;/font&gt; CleanUp()&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;{&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;&amp;nbsp;&amp;nbsp; System.Windows.Threading.Dispatcher.CurrentDispatcher.InvokeShutdown();&lt;br&gt;&lt;/font&gt;&lt;font face="Consolas"&gt;}&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;I know that unit tests that create Windows are not ideal, but for things like CAB and SCSF ( code bases I inherited) it may be necessary. &lt;p&gt;I hope this helps anyone else who runs into this issue.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8326122" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Testing/default.aspx">Testing</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category></item><item><title>The future of WPF Guidance</title><link>http://blogs.msdn.com/mpuleio/archive/2007/10/29/the-future-of-wpf-guidance.aspx</link><pubDate>Mon, 29 Oct 2007 22:53:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5770196</guid><dc:creator>mpuleio</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/mpuleio/comments/5770196.aspx</comments><wfw:commentRss>http://blogs.msdn.com/mpuleio/commentrss.aspx?PostID=5770196</wfw:commentRss><wfw:comment>http://blogs.msdn.com/mpuleio/rsscomments.aspx?PostID=5770196</wfw:comment><description>&lt;p&gt;There is a lot of new information, all announced today, about the future of Acropolis, CAB, and WPF guidance from &lt;a href="http://www.msdn.com/practices" target="_blank"&gt;patterns &amp;amp; practices&lt;/a&gt;.&amp;#xA0; This comes about after a lot of internal discussions between the patterns &amp;amp; practices Client / User Experience team and the Acropolis team.&lt;/p&gt;  &lt;p&gt;If you want to know what is going on, start with the &lt;a href="http://blogs.msdn.com/acropolis" target="_blank"&gt;Acropolis team blog&lt;/a&gt;, and their article &lt;a href="http://blogs.msdn.com/acropolis/archive/2007/10/29/An-Acropolis-Update.aspx" target="_blank"&gt;A new phase for the Acropolis project.&lt;/a&gt;&amp;#xA0; Then read &lt;a href="http://blogs.msdn.com/gblock" target="_blank"&gt;Glenn&lt;/a&gt;'s post, &lt;a href="http://blogs.msdn.com/gblock/archive/2007/10/26/wpf-composite-client-guidance-it-s-coming.aspx" target="_blank"&gt;WPF Composite Client, it's coming!&lt;/a&gt;&amp;#xA0;&lt;/p&gt;  &lt;p&gt;Between the two, there is a lot of information: how things have changed with Acropolis, a little bit of guidance about what to do now with apps you are developing, and the future plans of p&amp;amp;p and Acropolis.&lt;/p&gt;  &lt;p&gt;If you have feedback, either post comments here, add comments to Glenn's post, or send email to Glenn (his address is at the end of his post).&lt;/p&gt;  &lt;p&gt;&amp;#xA0;&lt;/p&gt;  &lt;p&gt;[Note: &lt;a href="http://blogs.msdn.com/blaine" target="_blank"&gt;Blaine&lt;/a&gt; also is linking to these articles in &lt;a href="http://blogs.msdn.com/blaine/archive/2007/10/29/wpf-composite-client.aspx" target="_blank"&gt;his own post&lt;/a&gt;.]&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5770196" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Development+Tools/default.aspx">Development Tools</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/patterns+_2600_amp_3B00_+practices/default.aspx">patterns &amp;amp; practices</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/Smart+Client+Software+Factory/default.aspx">Smart Client Software Factory</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/mpuleio/archive/tags/WPF/default.aspx">WPF</category></item></channel></rss>