项目有需要用ActiveMQ这种东西,需要引用Apache.NMS.dll和Apache.NMS.ActiveMQ.dll这2个DLL,发现在引用之后,并且using Apache.NMS;using Apache.NMS.ActiveMQ;之后编译怎么也通不过,都是找不到这2个命名空间。X86、X64等招数都使了还是不行,在网上百度吧,也找不到解决方案,静下心来想想,在之前网上看到一则--引用的.NET Framework 4 Client Profile和.NET Framework 4过程中产生的引用错误 似乎给了我启发。
打开项目属性的应用程序页,发现目标框架是.NET Framework 4 Client Profile,我尝试着将目标框架改为.NET Framework 4试试,出现了目标Framework 更改的提示框,点击“是”。之后编译竟然通过了。高兴之余在网上百度了.NET Framework 4 Client Profile的解释。微软官网是这么说的:“Microsoft .NET Framework 4 Client Profile 提供了 .NET Framework 4 中的一部分功能。此 Client Profile 旨在运行客户端应用程序并启用针对 Windows Presentation Foundation (WPF) 和 Windows 窗体技术的最快部署。 需要此 Client Profile 中未包含的功能的应用程序开发人员应以完整 .NET Framework 4 而非此 Client Profile 为目标。”
看来,在以后的项目中,还是尽量以.NET Framework 4 比较好。
PS:由于工作一直很忙,好久不写博客了。以前积攒的不少经验都随着时间开始淡忘,为了将来不再有这样的错误,特此记下来,方便自己也方便大家。