1<!DOCTYPE html> 2<html> 3 <head> 4 <meta content="en-au" http-equiv="Content-Language" /> 5 <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> 6 <link href="/rss.xml" type="application/rss+xml" rel="alternate" title="Blog Feed" /> 7 <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="Blog Feed" /> 8 <link href="/projectsrss.xml" type="application/rss+xml" rel="alternate" title="Projects Feed" /> 9 <link href="/projectsatom.xml" type="application/atom+xml" rel="alternate" title="Projects Feed" /> 10 11 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" /> 12 <title>code52</title> 13 <link rel="stylesheet" type="text/css" href="/css/style20120128.css" /> 14 <link rel="stylesheet" type="text/css" href="/css/nuget-button.min.css" /> 15 <link rel="shortcut icon" href="/img/favicon.ico" /> 16
16<script id="contributorTemplate" type="text/x-jQuery-tmpl"> 17 18 {{each contributors}} 19 <h3 style="margin-top:0px;"><img src="http://gravatar.com/avatar/${gravatar_id}?s=25" alt="${ name }" /> <a href="https://github.com/${login}">${name || login}</a> - (${contributions} commits)</h3> 20 {{/each}} 21 22 </script>
22 23
23<script type="text/javascript"> 24 25 var _gaq = _gaq || []; 26 _gaq.push(['_setAccount', 'UA-28584788-1']); 27 _gaq.push(['_setDomainName', 'code52.org']); 28 _gaq.push(['_trackPageview']); 29 30 (function() { 31 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 32 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 33 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 34 })(); 35 36 </script>
36 37 </head> 38 <body> 39 <div id="container"> 40 <div id="side"> 41 <a href="/" id="home" title="home" alt="home"><img src="/img/logo.png" alt="Code 52 - a new coding project every week" /></a> 42 <div id="hometext"><a href="/" >code52</a></div> 43 <div class="section"> 44 <ul> 45 <li><a href="/blog.html">blog</a></li> 46 <li><a href="/about.html">about</a></li> 47 <li><a href="http://twitter.com/code_52">@code_52</a></li> 48 <li><a href="http://jabbr.net/#/rooms/code52">chatroom</a></li> 49 <li><a id="suggest" href="http://code52.uservoice.com">suggest a project</a></li> 50 <li><a href="/contributing.html">contributing guide</a></li> 51 <li><a href="https://github.com/Code52/code52.github.com/wiki">getting started</a></li> 52 <li><a href="/projects.html">previous projects</a></li> 53 <li><a href="http://ci.code52.org">TeamCity</a></li> 54 <li><a href="/rss.xml"><img src="/img/25.png" /> announcements</a></li> 55 <li><a href="/projectsrss.xml"><img src="/img/25.png" /> progress logs</a></li> 56 </ul> 57 </div> 58 </div> 59 <div id="content"> 60 <ul class="ideas"> 61 62 <li> 63 <div class="idea"> 64 65 <h1><a href="/show-and-tell/6/setting-up-mef.html">Show and Tell #6 - Setting up MEF</a></h1> 66 67 <div class="postdate">30 April, 2012 68 <ul> 69 70 </ul> 71 </div> 72 73 <h2>Setting up MEF</h2> 74 75<p>Ben posted yesterday about <a href="http://blog.belfryimages.com.au/setting-up-mef.html">setting up MEF</a> with the goal of adding plugins to a simple application. It touches on splitting the plugin API from the application code, including two-way communication between the application and the plugin. This method will possibly be used to implement plugin support in <a href="http://code52.org/DownmarkerWPF/">MarkPad</a>.</p> 76 77<p>The project created for the post is <a href="https://github.com/belfryimages/mef-test">available on GitHub</a>.</p> 78 79<h2>About the Author</h2> 80 81<p>Ben Scott is a developer from Rockhampton, Australia. He is employed as the IT manager of a financial planning firm, where he largely works on a C#, WinForms-based in-house investment portfolio management system, plus a number of slightly more interesting projects, some of them in <em>/gasp/</em> PHP. In his spare time he likes to write posts about himself in the third person using other people's websites. He very occasionally writes at <a href="http://blog.belfryimages.com.au">blog.belfryimages.com.au</a> and can usually be found on Twitter <a href="http://twitter.com/belfryimages">@belfryimages</a> where he posts blurry photos of his lunch and complains about things.</p> 82 83 <br /> 84 <a href="/show-and-tell/6/setting-up-mef.html#disqus_thread">Comments</a> 85 86 </div> 87 </li> 88 89</ul> 90 91 92 93 94<h3>OLDER</h3> 95 96 97<ul class="postArchive"> 98 99 <li> 100 <span class="olderpostdate"> 23 Apr </span> <a class="postlink" href="/reevaluating-code52.html">Reevaluating Code52</a> 101 </li> 102 103 <li> 104 <span class="olderpostdate"> 22 Apr </span> <a class="postlink" href="/show-and-tell/5/porting-a-silverlight-game-to-xna-on-wp7.html">Show and Tell #5 - Porting a Silverlight game to XNA</a> 105 </li> 106 107 <li> 108 <span class="olderpostdate"> 20 Apr </span> <a class="postlink" href="/show-and-tell/4/using-dvcs-to-host-code-examples.html">Show and Tell #4 - Using DVCS to host code examples</a> 109 </li> 110 111 <li> 112 <span class="olderpostdate"> 19 Apr </span> <a class="postlink" href="/show-and-tell/3/task-parallel-library.html">Show and Tell #3 - Building Budgie with the Task Parallel Library (TPL)</a> 113 </li> 114 115 <li> 116 <span class="olderpostdate"> 18 Apr </span> <a class="postlink" href="/show-and-tell/2/mvc-image.html">Show and Tell #2 - Learning by building MvcImage</a> 117 </li> 118 119 <li> 120 <span class="olderpostdate"> 17 Apr </span> <a class="postlink" href="/show-and-tell/1/generic-repository-pattern.html">Show and Tell #1 - Generic Repository Pattern series</a> 121 </li> 122 123 <li>
124 <span class="olderpostdate"> 16 Apr </span> <a class="postlink" href="/show-and-tell.html">show and tell</a> 125 </li> 126 127 <li> 128 <span class="olderpostdate"> 16 Apr </span> <a class="postlink" href="/dodo-recap.html">dodo recap</a> 129 </li> 130 131 <li> 132 <span class="olderpostdate"> 10 Apr </span> <a class="postlink" href="/dodo.html">dodo</a> 133 </li> 134 135 <li> 136 <span class="olderpostdate"> 09 Apr </span> <a class="postlink" href="/say-wat-recap.html">Say Wat? Recap</a> 137 </li> 138 139 <li> 140 <span class="olderpostdate"> 02 Apr </span> <a class="postlink" href="/say-wat.html">Say Wat?</a> 141 </li> 142 143 <li> 144 <span class="olderpostdate"> 20 Mar </span> <a class="postlink" href="/scanner-recap.html">Recap - Enhance</a> 145 </li> 146 147 <li> 148 <span class="olderpostdate"> 20 Mar </span> <a class="postlink" href="/working-bee.html">Working Bee</a> 149 </li> 150 151 <li> 152 <span class="olderpostdate"> 20 Mar </span> <a class="postlink" href="/weekone-dayseventyseven.html">MarkPad: Day 77</a> 153 </li> 154 155 <li> 156 <span class="olderpostdate"> 12 Mar </span> <a class="postlink" href="/winjs-recap.html">Recap - MyFinances for Windows 8</a> 157 </li> 158 159 <li> 160 <span class="olderpostdate"> 12 Mar </span> <a class="postlink" href="/enhance.html">Enhance - a Scanner</a> 161 </li> 162 163 <li> 164 <span class="olderpostdate"> 06 Mar </span> <a class="postlink" href="/week10-day1.html">MyFinances for Windows8: Day 1</a> 165 </li> 166 167 <li> 168 <span class="olderpostdate"> 05 Mar </span> <a class="postlink" href="/finances-windows8.html">MyFinances for Windows 8</a> 169 </li> 170 171 <li> 172 <span class="olderpostdate"> 05 Mar </span> <a class="postlink" href="/internationalization-recap.html">Recap: i18n Packages for MVC4</a> 173 </li> 174 175 <li> 176 <span class="olderpostdate"> 27 Feb </span> <a class="postlink" href="/github-for-outlook-review.html">Github Tasks For Outlook - Review</a> 177 </li> 178 179 <li> 180 <span class="olderpostdate"> 27 Feb </span> <a class="postlink" href="/internationalization-mvc4.html">Internationalization Packages for MVC4</a> 181 </li> 182 183 <li> 184 <span class="olderpostdate"> 21 Feb </span> <a class="postlink" href="/github-for-outlook.html">GitHub Tasks for Outlook</a> 185 </li> 186 187 <li> 188 <span class="olderpostdate"> 20 Feb </span> <a class="postlink" href="/carnac-review.html">carnac review</a> 189 </li> 190 191 <li> 192 <span class="olderpostdate"> 18 Feb </span> <a class="postlink" href="/designing-code52-part1.html">Designing Code52: Part 1</a> 193 </li> 194 195 <li> 196 <span class="olderpostdate"> 14 Feb </span> <a class="postlink" href="/carnac.html">carnac</a> 197 </li> 198 199 <li> 200 <span class="olderpostdate"> 13 Feb </span> <a class="postlink" href="/metro-dot-css-wrapup.html">Metro.css: Recap</a> 201 </li> 202 203 <li> 204 <span class="olderpostdate"> 08 Feb </span> <a class="postlink" href="/jetbrains.html">Big thanks to Jetbrains!</a> 205 </li> 206 207 <li> 208 <span class="olderpostdate"> 07 Feb </span> <a class="postlink" href="/metro-dot-css.html">metro.css</a> 209 </li> 210 211 <li> 212 <span class="olderpostdate"> 06 Feb </span> <a class="postlink" href="/pretzel-review.html">Pretzel: Recap</a> 213 </li> 214 215 <li> 216 <span class="olderpostdate"> 31 Jan </span> <a class="postlink" href="/pretzel.html">Pretzel</a> 217 </li> 218 219 <li> 220 <span class="olderpostdate"> 30 Jan </span> <a class="postlink" href="/samurai-review.html">Samurai: Recap</a> 221 </li> 222 223 <li> 224 <span class="olderpostdate"> 25 Jan </span> <a class="postlink" href="/gh-pages.html">Contribute to the project websites</a> 225 </li> 226 227 <li> 228 <span class="olderpostdate"> 24 Jan </span> <a class="postlink" href="/samurai.html">Week 4: Samurai</a> 229 </li> 230 231 <li> 232 <span class="olderpostdate"> 20 Jan </span> <a class="postlink" href="/ideastrike-review.html">Ideastrike: Recap</a> 233 </li> 234 235 <li> 236 <span class="olderpostdate"> 20 Jan </span> <a class="postlink" href="/weekthree-dayfour.html">Ideastrike: Day 4</a> 237 </li> 238 239 <li>
240 <span class="olderpostdate"> 17 Jan </span> <a class="postlink" href="/ideastrike.html">Week 3: Ideastrike</a> 241 </li> 242 243 <li> 244 <span class="olderpostdate"> 16 Jan </span> <a class="postlink" href="/jibbr-review.html">Week 2: JibbR</a> 245 </li> 246 247 <li> 248 <span class="olderpostdate"> 16 Jan </span> <a class="postlink" href="/some-words-about-gathering-ideas.html">Some words about gathering ideas</a> 249 </li> 250 251 <li> 252 <span class="olderpostdate"> 12 Jan </span> <a class="postlink" href="/weektwo-daythree.html">Jibbr: Day 3</a> 253 </li> 254 255 <li> 256 <span class="olderpostdate"> 11 Jan </span> <a class="postlink" href="/weektwo-daytwo.html">Jibbr: Day 2</a> 257 </li> 258 259 <li> 260 <span class="olderpostdate"> 10 Jan </span> <a class="postlink" href="/weektwo-dayone.html">Jibbr: Day 1</a> 261 </li> 262 263 <li> 264 <span class="olderpostdate"> 10 Jan </span> <a class="postlink" href="/line-endings.html">Line Endings</a> 265 </li> 266 267 <li> 268 <span class="olderpostdate"> 10 Jan </span> <a class="postlink" href="/jibbr.html">Week 2: Jibbr</a> 269 </li> 270 271 <li> 272 <span class="olderpostdate"> 09 Jan </span> <a class="postlink" href="/downmarker-review.html">Week 1: MarkPad</a> 273 </li> 274 275 <li> 276 <span class="olderpostdate"> 06 Jan </span> <a class="postlink" href="/weekone-dayfour.html">MarkPad: Day 4</a> 277 </li> 278 279 <li> 280 <span class="olderpostdate"> 05 Jan </span> <a class="postlink" href="/weekone-daythree.html">MarkPad: Day 3</a> 281 </li> 282 283 <li> 284 <span class="olderpostdate"> 03 Jan </span> <a class="postlink" href="/weekone-dayone.html">MarkPad: Day 1</a> 285 </li> 286 287 <li> 288 <span class="olderpostdate"> 03 Jan </span> <a class="postlink" href="/downmarker.html">Week 1: Downmarker WPF</a> 289 </li> 290 291 <li> 292 <span class="olderpostdate"> 31 Dec </span> <a class="postlink" href="/introduction.html">Introducing code52</a> 293 </li> 294 295</ul> 296 297 298 299
300<script type="text/javascript"> 301//<![CDATA[ 302(function() { 303 var links = document.getElementsByTagName('a'); 304 var query = '?'; 305 for(var i = 0; i < links.length; i++) { 306 if(links[i].href.indexOf('#disqus_thread') >= 0) { 307 query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&'; 308 } 309 } 310 document.write('
310<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/code52/get_num_replies.js' + query + '"></' + 'script>'); 311})(); 312//]]> 313</script>
313 314 315 316 </div> 317 </div> 318 <div style="clear:both"> </div> 319 <div id="footerContainer"> 320 <div class="footer"> 321 <ul> 322 <li><a href="/blog.html">blog</a></li> 323 <li><a href="/about.html">about</a></li> 324 <li><a href="/projects.html">previous projects</a></li> 325 <li><a href="http://ci.code52.org">TeamCity</a></li> 326 <li><a href="/rss.xml"><img src="/img/25.png" /> announcements</a></li> 327 <li><a href="/projectsrss.xml"><img src="/img/25.png" /> progress logs</a></li> 328 </ul> 329 330 <div id="sponsors"> 331 <h3>sponsors</h3> 332 <div style="position:relative; display:inline-block; background:#fff url(http://www.jetbrains.com/resharper/features/rs/rs1/rs210x60_white.gif) no-repeat 0 0; border:solid 1px #7d255b; margin:0;padding:0;text-decoration:none;text-indent:0;letter-spacing:-0.001em; width:208px; height:58px"><span style="margin: -1px 0 0 63px;padding: 0;float: left;font-size: 10px;cursor:pointer; background-image:none;border:0;color: #7d255b; font-family: trebuchet ms,arial,sans-serif;font-weight: normal;">Can't live without</span><a href="http://www.jetbrains.com/resharper/features/code_refactoring.html" alt="The best C# & VB.NET refactoring plugin for Visual Studio" title="The best C# & VB.NET refactoring plugin for Visual Studio" style="position:absolute;left:0;margin:0;padding:34px 0 2px 8px;width:200px; line-height:11px;font-size:9px;cursor:pointer; background-image:none;border:none;display:block; color:#7d255b; font-family:tahoma,arial,sans-serif;font-weight: normal;text-decoration:none;">The best C# & VB.NET refactoring plugin for Visual Studio</a></div> 333 <a href="http://www.jetbrains.com/teamcity/"><img src="/img/logo_teamcity.png" /></a> 334 </div> 335 </div> 336</div> 337 </body> 338</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.