遇到一个怪异的问题,明明用了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