Reputation: 139
This work's fine for another app that I'm transferring into this one. I've been stuck here for hours and google does not have much for MEF. the System.ComponentModel.Composition.dll is imported, yes. But still cannot get rid of this error.
I have this for my includes:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.ComponentModel.Composition;
using JSNet;
Affected code:
var catalog = new AggregatingComposablePartCatalog();
var mainAssemblyCatalog = new AttributedAssemblyPartCatalog(this.GetType().Assembly);
var jsNetCatalog = new AttributedAssemblyPartCatalog(typeof(Effect).Assembly);
//var addInEffects = new DirectoryPartCatalog("Effects");
catalog.Catalogs.Add(mainAssemblyCatalog);
catalog.Catalogs.Add(jsNetCatalog);
//catalog.Catalogs.Add(addInEffects);
var container = new CompositionContainer(catalog);
Errors:
Error 1: The type or namespace name 'AggregatingComposablePartCatalog' could not be found (are you missing a using directive or an assembly reference?)
Error 2: The type or namespace name 'AttributedAssemblyPartCatalog' could not be found (are you missing a using directive or an assembly reference?)
Error 3: The type or namespace name 'AttributedAssemblyPartCatalog' could not be found (are you missing a using directive or an assembly reference?)
Error 4: The type or namespace name 'CompositionContainer' could not be found (are you missing a using directive or an assembly reference?)
Upvotes: 2
Views: 11625
Reputation: 1130
Check if your app's framework version is set to Client Profile. If it is, this is your problem. The assembly you're referencing likely isn't targeting Client Profile. Change it to .NET 4.0 (not 4.0 Client Profile)
Upvotes: 7