无法找到类型或命名空间名称'...'(您是否缺少using指令或程序集引用?)

时间:2012-04-07 03:01:12

标签: c# mef

这项工作适用于我转移到这个应用程序的另一个应用程序。我已经被困在这里好几个小时了,谷歌没有太多的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?)

1 个答案:

答案 0 :(得分:7)

检查您的应用的框架版本是否设置为客户端配置文件。如果是,这是你的问题。您引用的程序集可能未定位到客户端配置文件。将其更改为.NET 4.0(而不是4.0客户端配置文件)