现象:编译项目时提示未找到类型或命名空间名称"... "
解决方法:如果是未找到类型,检查是否引用了类型所在的命名空间,使用using指令;如果是未找到命名空间,那么检查是否引用了程序集。
这样的低级错误一般情况很少会犯,如果确认引用了程序集与命名空间,那么还有什么情况会导致编译程序时提示未找到类型或者命令空间呢,我本人就遇到过这样一个问题,其中一个工程无法引用另一个工程生成的库文件(并且这两个工程都在一个解决方案下,而其他工程却可正常引用此库文件,解决方案下有三十多个工程)仔细检查之后发现因以下原因导致:
起初此项目由VS2010创建,SL版本为Silverlight4;后来讲此项目升级为VS2012,SL升级为Silverlight5,库文件是在Silverlight5环境下编译生成的,而引用它的工程使用的Silverlight4的版本。。。
同理,出现这样的问题使用常规方法不能解决时,就需要检查程序集版本和项目是否一致,例如:你的项目是.NET 4.0,而你的程序集是.NET3.5下编译的,或者你的引用项目与被引用项的.NET Framework版本不一样,例如一个是.NET 4.0 另一个是.NET 4.0 Client Profile。