Way of MEF slides and Code


Thanks to everyone who came out to the “Way of MEF” education day in Cupertino. I had a great time and you were an awesome audience. I really appreciate all the great / in-depth questions. It showed that you really were keeping along. I also enjoyed all the different side conversations, and all the times you guys overwhelmed me at the breaks. I really do love this stuff!

Here is a link to get you access to the code and the slides: http://cid-f8b2fd72406fb218.office.live.com/browse.aspx/Public/Way%20of%20MEF

If you download the code it contains the following:

  • HelloMef_Simple – The simple widget example we built
  • HelloMef_Extended – Sample that downloads multiple XAPs and which demonstrates ExportFactory.
  • MefRules_Simple – The simple rules engine we built on the fly
  • MefRules_Extended – More complete rules engine sample which uses rule metadata and contains a runner for Silverlight and Desktop.
  • DynamicObjectContracts – Demonstrates a simple illustration of using dynamic exports and imports
  • PartUpdatesInPlace – Demonstrates uses shadow copying to allow hot swapping / removing parts on the fly. (the one that the audience asked me about)

Here are additional links:

Finally as promised, if you have questions that were not answered in the talk, feel free to comment here or email me direct and I will answer them in a follow up post.

Thanks to Mathias Brandewinder, Kevin Rohling, his nutty girlfriend and recruiter extraordinaire Megan Hopkins and the Bay.NET UG for hosting me. I had an awesome time.

Yes, I know I need to post on what I am working on now……I hear you, pleae be patient :-)

This entry was posted in MEF. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Shane Yu

    Hello, the link to the source code no longer works, would you be able to provide a new link or possibly stick the code on GitHub?

  • http://codebetter.com/members/gblock/default.aspx Glenn Block

    Abhishek did you build the entire solution? The projects don’t all reference each other, so you need to build the solution to ensure the parts are put in the right places.

  • http://codebetter.com/members/gblock/default.aspx Glenn Block

    Yaron, it shouldn’t be. I just tested it again.

  • http://webservices20.blogspot.com/ Yaron Naveh

    Hi Glenn

    The link to the presentation is broken.

  • http://nesteruk.wordpress.com Dmitri

    Can someone recommend a good screencast on MEF?

  • Abhishek Das

    Hi Glenn,
    I attended “Way to MEF” yesterday. It was very good and interesring one.

    But I am getting an exception while running RuleEngine example. I thought I missed something , so i was waiting for code sample to be available. After downloading the sample from the given link, I am still getting the same error.
    The exception is

    No valid exports were found that match the constraint ‘((exportDefinition.ContractName == “RulesEngine.Contracts.IRulesEngine”) AndAlso (exportDefinition.Metadata.ContainsKey(“ExportTypeIdentity”) AndAlso “RulesEngine.Contracts.IRulesEngine”.Equals(exportDefinition.Metadata.get_Item(“ExportTypeIdentity”))))’, invalid exports may have been rejected.

    I think I am missing something.. Can you please help me out..

  • http://codebetter.com/members/gblock/default.aspx Glenn Block

    Thanks Michael

    I fixed it. That’s what you get for writing code on the fly….that part wasn’t compiled :-)


  • http://OpenLightGroup.net Michael Washington

    On “HelloMef_Extended”, got a build error:

    Error 1 The type or namespace name ‘windowExport’ could not be found (are you missing a using directive or an assembly reference?) C:\TEMP\Way of MEF samples\HelloMEF_Extended\HelloMEF\Widget2.xaml.cs 24 17 HelloMEF