编译时提示程序集引用找不到与.Net Framework 4 Client Profile

来源:互联网 发布:千里驰援李天霞 知乎 编辑:程序博客网 时间:2024/06/06 01:29

在Ioc容器的性能测试中,在Munq代码完编译时出现Error:“The type or namespace name 'Munq' could not be found (are you missing a using directive or an assembly reference?)


  • 重现问题

添加引用:



编写Munq的测试代码,可见Munq正常引用的:



编译时:



郁闷了,既然问题出现了,那么就要找到其原因并解决。

  • 查找问题

 在VS2008上测试了一下引用Munq没有问题的,怀疑是用来Neuget添加引用的原因,于是删除引用并手动添加,问题依然出现。。。

查看工程文件的属性:


发现Target framework这里有点陌生,本以为这里应该是.Net Framework 4.0,好吧,不清楚.Net Framework 4 Client Profile,那就查一下MSDN。

MSDN:
.NET Framework 4 Client Profile 是 .NET Framework 4 已针对客户端应用程序进行优化的一个子集 它提供了适用于大多数客户端应用程序的功能,包括 Windows Presentation Foundation (WPF)、Windows 窗体、Windows Communication Foundation (WCF) 和 ClickOnce 功能。 这样更快地部署和一个较小安装软件包的应用程序在.net Framework 4 客户端配置文件的目标。

.Net Framework 4 Client Profile 不包括以下功能。 必须安装 .NET Framework 4 才能在应用程序中使用这些功能:

  • ASP.NET

  • 高级 Windows Communication Foundation (WCF) 功能

  • Oracle .NET Framework 数据提供程序

  • 用于编译的 MSBuild


  • 解决问题

那我们把Target framework修改为.Net Framework 4,编译,通过。Great!




当应用程序以特定配置文件为目标时,如果您尝试引用不属于该配置文件的一部分的程序集,则可能会遇到错误。 常见错误包括以下类型:
  • 命名空间“命名空间”中不存在类型或命名空间名称“名称”。 (是否缺少程序集引用?)

  • 未定义类型“类型名称”。

  • 未能解析程序集“程序集”。 该程序集未作为“配置文件”配置文件的一部分列出。



【参考】

.NET Framework 目标错误疑难解答

.NET Framework Client Profile



原创粉丝点击