这项工作适用于我转移到这个应用程序的另一个应用程序。我已经被困在这里好几个小时了,谷歌没有太多的MEF。是的,导入了System.ComponentModel.Composition.dll。但仍然无法摆脱这个错误。
我为我的包含了这个:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.ComponentModel.Composition;
using JSNet;
受影响的代码:
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);
错误:
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?)
答案 0 :(得分:7)
检查您的应用的框架版本是否设置为客户端配置文件。如果是,这是你的问题。您引用的程序集可能未定位到客户端配置文件。将其更改为.NET 4.0(而不是4.0客户端配置文件)