刘磊-Lucien

开心工作生活每一天 (原创文章,转载请注明出处) (QQ:6509051欢迎交流)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我在写C#的时候也出现了这个问题,google了下之后,找到如下解决方法:

-----------------------------------------------------------

昨天写了一个很小的winform程序,其中引用了自己写的两个dll文件。

本来认为轻松搞定,结果一编译居然提示:未能找到类型或命名空间名称。。。。。

于是删掉两个dll重新引用,再编译结果依旧!很是郁闷。

后来经过调查,终于发现了解决方法:

在项目上点右键-->属性-->应用程序-->目标框架-->修改为.NET Framework 4。

而我原来的设置是.NET Framework 4 Client Profile。问题就出在这里。

以下是MSDN给出的提示:

If you are targeting the .NET Framework 4 Client Profile, you cannot reference an assembly that is not in the .NET Framework 4 Client Profile. Instead you must target the .NET Framework 4.

 

不过也因为如此,当在 Visual Studio 2010 建立新项目时,如果发现 [添加引用] 中没有列出原本应该列出的组件或者引用的其他程序集,在代码中的调用一直提示找不到名字空间时,可以先检查是否是项目的 target framework 设成了 .NET 4.0 Client Profile (例如 System.Web.dll 就不在 .NET 4.0 Client Profile 套件中),若是改成.NET Framework 4就OK了。