我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
当前回答
在我的案例中,问题是在将命名空间更改为与另一个项目中的名称完全相同之后(有意地),程序集的名称也被VS更改了,因此有两个具有相同名称的程序集,其中一个覆盖了另一个
其他回答
把我的解决方案加入到混合中,因为它有点不同,我花了一段时间来弄清楚。
In my case I added a new class to one project but because my version control bindings weren't set I needed to make the file writable outside of Visual Studio (via the VC). I had cancelled out of the save in Visual Studio but after I made the file writable outside VS I then hit Save All again in VS. This inadvertently caused the new class file to not be saved in the project..however..Intellisense still showed it up as blue and valid in the referencing projects even though when I'd try to recompile the file wasn't found and got the type not found error. Closing and opening Visual Studio still showed the issue (but if I had taken note the class file was missing upon reopening).
当我意识到这一点时,解决方法很简单:将项目文件设置为可写,将丢失的文件读入项目。现在都建好了。
要解决这个问题,还可以删除并重新创建*.sln。关联解决方案的DotSettings文件。
在我的例子中,我在一个解决方案中有两个项目,我在引用的项目中添加了一个子名称空间,但在构建时,我没有注意到引用的项目构建失败,它使用了最后一个成功构建的版本,没有这个新的名称空间,所以错误是正确的,它不能被找到,因为它不存在。解决方案显然是修复引用项目中的错误。
在我的情况下,我卸载项目,然后:
Opened myProject.csproj and update the ToolsVersion="4.0" to ToolsVersion="12.0"(I'm using vs 2017)(using Paulus's answer https://stackoverflow.com/a/64552201/1594487). Deleted following lines from the myProject.csproj: <Import Project="..\packages\EntityFramework.6.4.0\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.0\build\EntityFramework.props')" /> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
问题解决了。
为此挣扎了一段时间,而且不是第一次了。在过去,这通常是配置不匹配造成的,但这次不是。
这一次,在我的应用程序中,自动生成绑定重定向被设置为true。
实际上,如果我在我的库中将它设置为true,那么我的库就会在Microsoft中的类型中得到这个错误。报告名称空间,如果在我的应用程序中将它设置为true,那么我的应用程序将从我的库中获取类型的此错误。
此外,对于我的库,该值似乎默认为false,但对于我的应用程序,该值为true。因此,如果我不指定任何一个,我的库构建正常,但我的应用程序得到了我的库的错误。所以,我必须在我的应用程序中明确地将其设置为false,否则我会得到这个错误,没有说明原因。
我还发现,如果项目没有使用sdk csproj,无论设置如何,我都会收到这条消息。一旦我转换到sdk csproj,设置就会有所不同。
同样,在我的例子中,这一切似乎都与Microsoft.ReportingServices.ReportViewerControl.Winforms nuget包有关,它在我的根库中。