遇到一个怪异的问题,明明用了dll,但是死活找不到命名空间,死活无法调用引用的类。
后来发现原因是引用的dll是.net framework 4.,而当前项目是.net framework 4 Client Profile。
导致不兼容所致。
.NET Framework Client Profile
.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 Client Profile 中的程序集。 而必须以 .NET Framework 4 为目标。
.NET Framework 4 Client Profile 的功能
.NET Framework 4 客户端配置文件包含在开发一个客户端应用程序所需的功能包括:
common language runtime (CLR)
ClickOnce
Windows Forms
Windows Presentation Foundation (WPF)
Windows Communication Foundation (WCF)
Entity Framework
Windows Workflow Foundation
语音
XSLT 支持
LINQ to SQL
适用于Entity Framework和 WCF 数据服务 的运行时设计库。
Managed Extensibility Framework (MEF)
动态类型
并行编程功能(例如任务并行库 (TPL))、并行 LINQ (PLINQ) 和协作数据结构 (CDS)
调试客户端应用程序
引用程序集包含在.net Framework 4 客户端配置文件中的一个完整列表,请参阅 .NET Framework Client Profile 中的程序集 有关这些技术的详细信息,请参阅 快速技术查找器 (.NET Framework)
.Net Framework 4 Client Profile 不包括以下功能。 必须安装 .NET Framework 4 才能在应用程序中使用这些功能:
ASP.NET
高级 Windows Communication Foundation (WCF) 功能
Oracle .NET Framework 数据提供程序
用于编译的 MSBuild