我得到一个:

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

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

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

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


当前回答

在我的案例中,我有一个由外部依赖(xsd2code)构建的文件,不知为何它的designer.cs文件没有被VS正确处理。在Visual Studio中创建一个新文件并将代码粘贴进去,这对我来说很管用。

其他回答

这可能是两个项目之间的. 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的新项目,然后你从新项目中引用这些旧项目)

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

在我的VS2019解决方案中添加了一个新的库项目后,我得到了“使用系统”的错误。添加包Newtonsoft. json (currentversion)到库项目修复了这个问题,因为对Newtonsoft的依赖。Json包含了NETStandard。库的依赖项下的库,并正在生成一个警告图标。主项目有一个错误,直到我安装了Newtonsoft。Json,所以我认为它也适用于库;它确实做到了。

我当时正在做VS 2017社区版,CefSharp的金块包也有同样的问题。

包被成功下载并恢复,项目可以构建并成功运行-只是标记表明名称空间无法识别。

我所要做的就是打开参考资料部分,点击其中一个黄色感叹号。

几秒钟后,标记错误就消失了。

在构建解决方案时,我得到了相同的错误(类型或名称空间' '找不到)。在它下面,我看到一个警告,声明“引用无法解析”,并确保“程序集存在于磁盘上”。

我非常困惑,因为我的DLL非常清楚地位于引用所指向的位置。VS似乎没有突出显示任何错误,直到我尝试构建解决方案。

我终于意识到问题所在(或者至少我怀疑是问题所在)。我在同一个解决方案中构建库文件。因此,即使它存在于磁盘上,它也在那个位置被重新构建(在库重新构建的过程中,我的另一个项目-在同一解决方案中-引用了库,必须确定库不存在)

当我右键单击项目并只构建该项目,而不是整个解决方案时,我没有得到错误。

为了解决这个问题,我将库作为依赖项添加到正在使用它的项目中。

这样做:

我在解决方案资源管理器中右键单击我的解决方案并选择 “属性” 然后在“Common Properties”中选择“Project Dependencies”。 然后在项目下拉菜单中,我选择了项目 依靠图书馆,而且 选中“依赖”下的库旁边的复选框

这确保首先构建库项目。