我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
我得到一个:
找不到类型或名称空间名称
错误的c# WPF应用程序在VS2010。这部分代码编译得很好,但突然就出现了这个错误。我已经尝试删除项目引用和using语句,关闭VS2010并重新启动,但我仍然有这个问题。
有什么想法,为什么这可能会发生,似乎我在做正确的事情re Reference & using语句?
我还注意到在VS2010,智能感知的名称空间是工作的好,所以它似乎VS2010有项目引用,是看到名称空间在一方面,但在编译期间没有看到它?
当前回答
首先,我将验证您的项目生成的信息是否损坏。在解决方案上进行清理和重新构建。
如果这还不起作用,我在过去看到的一种解决设计器问题的方法是打开一个windows窗体项目,然后再次关闭它。这有点像鸡内脏,所以别抱太大希望。
其他回答
这可能是两个项目之间的. net框架版本不兼容的结果。
它可以通过两种方式发生:
客户档案项目引用了一个完整的框架项目;或 一个针对新框架版本的旧框架版本
例如,当一个应用程序被设置为目标。net 4客户端配置文件框架时,它会发生,而它引用的项目目标是完整的。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的新项目,然后你从新项目中引用这些旧项目)
[Facepalm]我的问题是我在c++的做事方式中添加了依赖。
转到无法构建的项目,在解决方案资源管理器中打开“References”文件夹,查看是否列出了您的依赖项。
如果没有,您可以“添加引用”并在Projects选项卡上选择依赖项。
Shankar繁荣。
在我的情况下,我卸载项目,然后:
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')" />
问题解决了。
把我的解决方案加入到混合中,因为它有点不同,我花了一段时间来弄清楚。
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).
当我意识到这一点时,解决方法很简单:将项目文件设置为可写,将丢失的文件读入项目。现在都建好了。
在面对上述错误时,我发现了一个非常简单的解决方案: 在控制台,我只是运行
dotnet build
之后,Visual Studio中的所有错误消息都消失了。