Finding the Elusive MEF Assembly (System.ComponentModel.Composition.dll)

I’m working on a sample project that needs to be able to process each file in a folder differently based on the type of file.  I wanted to build it using a plugin model, and decided this might finally be a reason to learn more about MEF.  I spun up a new project in Visual Studio 2010, but for the life of me couldn’t find the System.ComponentModel.Composition.dll that contains the MEF classes. 

Turns out the project I started was targeting the .NET Framework 3.5 runtime.  I changed it to the .NET 4.0 Framework, and voila, System.ComponentModel.Composition.dll now shows up in the Add References dialog. 

image

I feel like an idiot, but I spent probably 30-40 minutes looking for that sucker. 

FYI, its here (at least on my box):

C:\Program Files (x86)
   \Reference Assemblies
    \Microsoft
     \Framework
      \.NETFramework
       \v4.0
        \System.ComponentModel.Composition.dll

OR

C:\Program Files (x86)
   \Reference Assemblies
    \Microsoft
     \Framework
      \.NETFramework
       \v4.0
        \Profile
         \Client

          \System.ComponentModel.Composition.dll

FYI