Managed Extensibility Framework Quickstart: Hello, MEF

I’ve been working on quickstarts for a community team that I’m a member of. The team is called MEFContrib. We write extensions to the Managed Extensibility Framework as well as supporting manuals and documentation. I’ve been tasked with the quickstarts and as I release them I’ll post them for you. Obviously, a quickstart should be,…

Sharing Commands with the Managed Extensibility Framework

View models can expose commands that are bound to controls. Commands encapsulate an action and a permission, and the advantage to binding is that controls that support commands will automatically disable when the command cannot execute. Commands can also be easily added to view models and tested. It is common to find commands that are…

Unit Testing XAML Data-Bindings in Silverlight

In an interview earlier this year with MSDN geekSpeak, I discussed unit testing for Silverlight and some of the frameworks that are available. One audience member raised a very important question: “How do we test the XAML?” Specifically, what happens when we hand off XAML to a designer or another developer, and they accidently remove…

Using Reactive Extensions (Rx) to Simplify Asynchronous Tests

Reactive Extensions (Rx) is a product from Microsoft Research that simplifies the management and composition of asynchronous events. If you read my earlier post on Asynchronous Workflows, you’ll understand why the asynchronous programming model can sometimes lead to confusing and hard-to-maintain code. There is nothing wrong with the model, but the fact that you must…

Silverlight UI Automation Testing using Prism 4.0

One popular gripe about Silverlight has been the lack of integrated testing tools. There are several types of tests you may perform against a software project. Unit tests can be performed with the aid of the Silverlight Unit Testing Framework and automated with a third-party tool such as StatLight. Automation testing involves hosting the actual…

Using Hints for Generic MEF Exports

It is very common to have base classes and interfaces that use generic types to define standard behaviors across business applications. One challenge with the Managed Extensibility Framework is that it doesn’t directly support generic exports and imports: in other words, there is no way to effectively do the following: ... [ImportMany(AllowRecomposition=true)] public IService<,>[] GenericService…

Sterling OODB v0.1 Alpha Released!

I’m please to share that I released the alpha version of the Sterling Object-Oriented Database for Silverlight 4.0 and Windows Phone 7.0 applications today. I dug into more details about the project in this introductory post. There have not been many significant changes to the source code since then, but I did create a set…

Silverlight Profiling Part 2: The Easy Way

After posting about profiling Silverlight 4 out of the box, the author of a tool was kind enough to share with me his free .NET profiling tool. It’s free, and it does a lot more than Silverlight. The manual is very straightforward but I wanted to make a quick an easy “light tour” to show…

Performance Profiling Silverlight 4 Step-by-Step

It turns out you can profile Silverlight 4 applications. Really! But the steps are scattered about the web in bits and pieces, so I wrote this to pull them all together. I’m going to use my reference X-Fit application for this, but you can obviously insert your own. Here we go! Set up PowerShell Yeah,…

A Cool WinDBG/SOS Hidden Feature

Every once in a while you run across an undocumented trick that totally and completely makes your day. A great example of that is the ability to debug MSBuild scripts in Visual Studio. Today I ran across another amazingly useful feature in WinDBG and SOS for .NET 4.0 that will save you countless hours of…