Getting “type or namespace name could not be found” but everything seems ok?

后端 未结 30 1756
北海茫月
北海茫月 2020-11-22 09:27

I\'m getting a:

type or namespace name could not be found

error for a C# WPF app in VS2010. This area of code was compiling fine

30条回答
  •  甜味超标
    2020-11-22 09:42

    This can be the result of a .Net framework version incompatibility between two projects.

    It can happen in two ways:

    1. a client profile project referencing a full framework project; or
    2. an older framework version targeting a newer framework version

    For example it will happen when an application is set to target the .Net 4 Client Profile framework, and the project it references targets the full .Net 4 framework.

    So to make that clearer:

    • Project A targets the Client Profile framework
    • Project A references Project B
    • Project B targets the full framework

    The solution in this case is to either upgrade the framework target of the application (Project A), or downgrade the target of referenced assembly (Project B). It is okay for a full framework app to reference/consume a client profile framework assembly, but not the other way round (client profile cannot reference full framework targeted assembly).

    Note that you can also get this error when you create a new project in VS2012 or VS2013 (which uses .Net 4.5 as the default framework) and:

    • the referencing project(s) use .Net 4.0 (this is common when you have migrated from VS2010 to VS2012 or VS2013 and you then add a new project)

    • the referenced projects use a greater version i.e. 4.5.1 or 4.5.3 (you've re-targeted your existing projects to the latest version, but VS still creates new projects targeting v4.5, and you then reference those older projects from the new project)

提交回复
热议问题