一尘不染

获取“找不到类型或名称空间名称”,但一切似乎还好吗?

c#

我得到:

找不到类型或名称空间名称

VS2010中的C#WPF应用出现错误。这部分代码编译良好,但是突然我收到了此错误。我试着删除项目参考和using语句,关闭VS2010并重新启动,但是仍然有这个问题。

任何想法为什么会发生这种情况,好像我在做正确的事情using

我还在VS2010中指出,该名称空间的intellisense可以正常工作,因此VS2010似乎具有项目参考并且一方面可以看到名称空间,但是在编译过程中看不到?


阅读 223

收藏
2020-05-19

共1个答案

一尘不染

这可能是两个项目之间.Net框架版本不兼容的结果。

它可以通过两种方式发生:

  1. 引用完整框架项目的客户资料项目;要么
  2. 针对较新框架版本的较旧框架版本

例如,当将应用程序设置为以.Net 4 Client Profile框架为目标,并且它引用的项目以整个.Net 4框架为目标时,就会发生这种情况。

因此,使它更清楚:

  • 项目A以客户资料框架为目标
  • 项目A参考项目B
  • 项目B针对整个框架

在这种情况下,解决方案是升级应用程序的框架目标(项目A)或降级引用程序集的目标(项目B)。完整框架应用程序可以引用/使用客户端配置文件框架程序集,但是不能相反(客户端配置文件不能引用以完整框架为目标的程序集)。

请注意,当您在VS2012或VS2013(使用.Net 4.5作为默认框架)中创建新项目时,也会出现此错误,并且:

  • 引用项目使用.Net 4.0(从VS2010迁移到VS2012或VS2013并添加新项目时,这很常见)

  • 引用的项目使用的版本更高,即4.5.1或4.5.3(您已将现有项目重新定位为最新版本,但是VS仍会创建针对v4.5的新项目,然后从新项目)

2020-05-19