我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
我得到一个:
找不到类型或名称空间名称
错误的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包有关,它在我的根库中。
其他回答
从GAC中删除程序集(C:\WINDOWS\assembly文件夹-选择您的程序集,右键单击并卸载)。因为解决方案使用guid保持引用,如果guid在GAC中,它将继续接受GAC版本进行编译。
我知道这个线程是旧的,但无论如何我共享,我必须安装导入程序集的所有第三方依赖项-因为导入的程序集不包括在Nuget包中,因此它的依赖项丢失了。
跳这个帮助:)
检查包含缺失类型的.cs文件的构建操作。确保它是c#编译器。
单击包含缺失类型的.cs文件。 按F4调出Properties。 确保构建动作设置为c#编译器。
之前:
后:
在我的案例中,问题是在将命名空间更改为与另一个项目中的名称完全相同之后(有意地),程序集的名称也被VS更改了,因此有两个具有相同名称的程序集,其中一个覆盖了另一个
有同样的错误,我的故事如下: 在糟糕的合并(通过git)后,我的一个.csproj文件有重复的编译条目,如:
<Compile Include="Clients\Tree.cs" />
<Compile Include="Clients\Car.cs" />
<Compile Include="Clients\Tree.cs" /> //it's a duplicate
如果您有一个大的解决方案,并且错误窗口中有超过300条消息,那么很难检测到这个问题。 所以我已经通过记事本打开了损坏的.csproj文件,并删除了重复的条目。对我来说很管用。