<?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>Brad Abrams  : ManagedExtensibilityFramework</title><link>http://blogs.msdn.com/brada/archive/tags/ManagedExtensibilityFramework/default.aspx</link><description>Tags: ManagedExtensibilityFramework</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Managed Extensibility Framework Preview 5 Released</title><link>http://blogs.msdn.com/brada/archive/2009/04/13/managed-extensibility-framework-preview-5-released.aspx</link><pubDate>Tue, 14 Apr 2009 07:31:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9547864</guid><dc:creator>BradA</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/brada/comments/9547864.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=9547864</wfw:commentRss><description>&lt;p&gt;A few days ago we released &lt;a href="http://mef.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=25797"&gt;MEF Preview 5&lt;/a&gt; on &lt;a href="http://mef.codeplex.com/"&gt;codeplex&lt;/a&gt; with all the source code, docs, test and samples you need to get started.&amp;#160; While MEF will be a core part of .NET Framework 4, we are making these preview releases available so folks can use &lt;a href="http://mef.codeplex.com/"&gt;MEF&lt;/a&gt; today on top of .NET Framework 3.5.&amp;#160; &lt;/p&gt;  &lt;p&gt;I have been very happy with the feedback we have gotten so far on MEF and I hope you see that we are reacting to it.&amp;#160; &lt;/p&gt;  &lt;p&gt;Glenn has the best list of &lt;a href="http://codebetter.com/blogs/glenn.block/archive/2009/04/11/mef-preview-5-changes-and-enhancements.aspx"&gt;changes and enhancements&lt;/a&gt;, but Wes has some good tips &lt;a href="http://weblogs.asp.net/whaggard/archive/2009/04/07/mef-preview-5-released.aspx"&gt;on moving to Preview 5&lt;/a&gt; as well!&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9547864" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/ManagedExtensibilityFramework/default.aspx">ManagedExtensibilityFramework</category></item><item><title>Managed Extensibility Framework Preview Available</title><link>http://blogs.msdn.com/brada/archive/2008/06/04/managed-extensibility-framework-preview-available.aspx</link><pubDate>Thu, 05 Jun 2008 06:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8574538</guid><dc:creator>BradA</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/brada/comments/8574538.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=8574538</wfw:commentRss><description>&lt;P&gt;A few months ago &lt;A href="http://blogs.msdn.com/kcwalina/archive/2008/04/25/MEF.aspx" mce_href="http://blogs.msdn.com/kcwalina/archive/2008/04/25/MEF.aspx"&gt;we announced&lt;/A&gt; that we are working on a Managed Externality Framework and there was a lot of &lt;A href="http://blogs.msdn.com/kcwalina/archive/2008/04/25/MEF.aspx" mce_href="http://blogs.msdn.com/kcwalina/archive/2008/04/25/MEF.aspx"&gt;feedback just on the announcement&lt;/A&gt;!&amp;nbsp;&amp;nbsp; Today we posted the very first CTP of MEF.&amp;nbsp;&amp;nbsp;&amp;nbsp; I would love to get your feedback on this.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Many people have noted that the industry has not yet a&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;chieved &lt;/FONT&gt;&lt;/FONT&gt;the level of code reuse the Object Oriented Design promised.&amp;nbsp; One of the reasons for this is the tight coupling that most OO systems tend allow.&amp;nbsp; Over the last few months (and for some of us, years) we have thought deeply about how we can encourage more reuse.&amp;nbsp;&amp;nbsp;&amp;nbsp; We believe MEF is part of the solution.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The MEF provides developers with a framework to easily add extensibility to their applications and with minimal impact on existing code. The application developer can define extension points according to the functionality required of an extension, while the extension developer uses those points to interact with the application. &lt;BR&gt;MEF enables this extensibility to take place without creating a hard dependency in either direction. Applications can be extended at run time without recompilation, and extensions can be used by multiple applications sharing the same extension requirements. MEF also allows an application to delay the loading of an extension while still examining its metadata, enabling efficient traversal of large catalogs of extensions.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Download the MEF Preview: &lt;A title=http://code.msdn.microsoft.com/mef href="http://code.msdn.microsoft.com/mef" mce_href="http://code.msdn.microsoft.com/mef"&gt;http://code.msdn.microsoft.com/mef&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;Check out the forums: &lt;A title=http://forums.msdn.microsoft.com/en-US/MEFramework/threads href="http://forums.msdn.microsoft.com/en-US/MEFramework/threads" mce_href="http://forums.msdn.microsoft.com/en-US/MEFramework/threads"&gt;http://forums.msdn.microsoft.com/en-US/MEFramework/threads&lt;/A&gt;&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;There are some great samples included:&lt;/P&gt;
&lt;P&gt;HelloWorld: A very simple example to show the concepts.&amp;nbsp;&amp;nbsp; The Button's Caption is determined at runtime by what component is added.&amp;nbsp; This can be changed at runtime, and customized based on user, etc.&lt;/P&gt;&lt;PRE class=code&gt;&lt;SPAN style="COLOR: blue"&gt;public &lt;/SPAN&gt;MyHelloWorld()
{
    InitializeComponent();
    &lt;SPAN style="COLOR: #2b91af"&gt;CompositionContainer &lt;/SPAN&gt;container =
              &lt;SPAN style="COLOR: blue"&gt;new &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;CompositionContainer&lt;/SPAN&gt;();
    
    container.AddComponent&amp;lt;MefHelloWorld.&lt;SPAN style="COLOR: #2b91af"&gt;MyHelloWorld&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;);
    container.AddComponent&amp;lt;&lt;SPAN style="COLOR: #2b91af"&gt;ExampleStringProvider&lt;/SPAN&gt;&amp;gt;(&lt;SPAN style="COLOR: blue"&gt;new
      &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;ExampleStringProvider&lt;/SPAN&gt;());
    
    &lt;SPAN style="COLOR: green"&gt;//Alternatively, comment the above and 
    //use the DateStringProvider:

    // container.AddComponent&amp;lt;DateStringProvider&amp;gt;(new
    //               DateStringProvider());

    &lt;/SPAN&gt;container.Bind();

    &lt;SPAN style="COLOR: green"&gt;//theButton.Content = "Hello World!";
&lt;/SPAN&gt;}
[&lt;SPAN style="COLOR: #2b91af"&gt;Import&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #a31515"&gt;"ButtonCaption"&lt;/SPAN&gt;)]
&lt;SPAN style="COLOR: blue"&gt;public &lt;/SPAN&gt;&lt;SPAN style="COLOR: #2b91af"&gt;String &lt;/SPAN&gt;ButtonCaption
{
    &lt;SPAN style="COLOR: blue"&gt;get &lt;/SPAN&gt;{ &lt;SPAN style="COLOR: blue"&gt;return &lt;/SPAN&gt;theButton.Content.ToString(); }
    &lt;SPAN style="COLOR: blue"&gt;set &lt;/SPAN&gt;{ theButton.Content = &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;; }
}&lt;/PRE&gt;&lt;A href="http://11011.net/software/vspaste" mce_href="http://11011.net/software/vspaste"&gt;&lt;/A&gt;
&lt;P&gt;DirectoryWatching: a "Hello World" example, using Directory Watching rather than manual component insertion.&amp;nbsp; You can simply drop a DLL into a directory to enable new functionality in the app&lt;/P&gt;
&lt;P&gt;Calculator: a stack-based calculator example..&amp;nbsp; You can add some "advanced" opperations that happen to be written in VB just by dropping the extension into a directory.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=244 alt=image src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_thumb.png" width=183 border=0 mce_src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;You gotta have a game right??&amp;nbsp;&amp;nbsp;&amp;nbsp; Simply open the file menu to load some additional shapes&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_4.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=241 alt=image src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_thumb_1.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/brada/WindowsLiveWriter/ManagedExtensibilityFrameworkPreviewAvai_12736/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;XFileExplorer: a MEF-based file explorer&lt;/P&gt;
&lt;P&gt;Again, we'd love to have your feedback and thoughts on this very, very early preview.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8574538" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/ManagedExtensibilityFramework/default.aspx">ManagedExtensibilityFramework</category></item></channel></rss>