我得到一个:

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

错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。

有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?

我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?


当前回答

我不知道为什么这样工作,但我删除了VS2015告诉我它找不到的项目引用,并再次添加它。解决了问题。我尝试过清理、构建和重新启动VS,但都无济于事。

其他回答

您还可以尝试删除您认为有问题的代码,并查看是否在没有引用该代码的情况下进行编译。如果不是,请修复问题,直到它再次编译,然后将您怀疑的问题代码重新插入。有时,当编译器不喜欢其他东西时,我就会得到一些我知道是正确的类或方法的奇怪错误。一旦我修复了它真正挂起来的东西,这些“幻影”错误就消失了。

在我的例子中,我有一个在适当的源文件夹中列出的类,但没有在解决方案资源管理器中注册。我必须右键单击项目>添加现有项目,手动选择它说它缺少的类。然后一切都运转正常!

我遇到了同样的问题:VS 2017强调引用项目中的一个类为错误,但解决方案构建正常,甚至智能感知工作。

下面是我解决这个问题的方法:

卸载引用的项目 在VS中打开。proj文件(我正在寻找重复的人建议在这里) 重新加载项目(我没有改变甚至保存proj文件,因为我没有任何副本)

检查包含缺失类型的.cs文件的构建操作。确保它是c#编译器。

单击包含缺失类型的.cs文件。 按F4调出Properties。 确保构建动作设置为c#编译器。

之前:

后:

对于那些在试图将网站发布到Azure时遇到这种错误的人来说,上面这些看起来很有希望的解决方案都没有帮助到我。我也在同一条船上——我的解决方案本身构建得很好。最后我不得不这么做

把我溶液里的鸡块都去掉。 关闭并重新打开我的溶液。 重新添加所有的nuget包。

有点痛苦,但这是我能让我的网站发布到Azure的唯一方法。