我得到一个:

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

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

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

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


当前回答

为此挣扎了一段时间,而且不是第一次了。在过去,这通常是配置不匹配造成的,但这次不是。

这一次,在我的应用程序中,自动生成绑定重定向被设置为true。

实际上,如果我在我的库中将它设置为true,那么我的库就会在Microsoft中的类型中得到这个错误。报告名称空间,如果在我的应用程序中将它设置为true,那么我的应用程序将从我的库中获取类型的此错误。

此外,对于我的库,该值似乎默认为false,但对于我的应用程序,该值为true。因此,如果我不指定任何一个,我的库构建正常,但我的应用程序得到了我的库的错误。所以,我必须在我的应用程序中明确地将其设置为false,否则我会得到这个错误,没有说明原因。

我还发现,如果项目没有使用sdk csproj,无论设置如何,我都会收到这条消息。一旦我转换到sdk csproj,设置就会有所不同。

同样,在我的例子中,这一切似乎都与Microsoft.ReportingServices.ReportViewerControl.Winforms nuget包有关,它在我的根库中。

其他回答

我在项目资源管理器中打开项目下面的引用,将鼠标悬停在其中一个缺失的引用上,很快,它就找到了所有东西。然后我就可以成功地建造了。

运行Visual Studio Community 2019,版本16.8.4

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

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

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

我们有一个奇怪的例子,我刚刚在溶液中修正了它。在主项目中的“using”语句前有一个隐藏/空白字符。这个项目可以很好地构建,网站也可以很好地运行,但是引用它的单元测试项目不能被构建。

从GAC中删除程序集(C:\WINDOWS\assembly文件夹-选择您的程序集,右键单击并卸载)。因为解决方案使用guid保持引用,如果guid在GAC中,它将继续接受GAC版本进行编译。

在我的例子中,我进入解决方案属性,并确保在两个项目的配置中选中了“Build”。我的主要项目没有检查。