我得到一个:

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

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

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

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


当前回答

我知道这是踢死马,但我有这个错误和框架在哪里好。我的问题基本上是声明无法找到接口,但它构建和访问都很好。所以我开始思考:“为什么只有这个界面,而其他人都工作得很好?”

最终,我使用WCF的端点接口访问了一个服务,该端点接口使用的是实体版本6,而其余的项目使用的是版本5。我没有使用NuGet,而是简单地将NuGet包复制到本地存储库以供重用,并以不同的方式列出它们。

例如,EntityFramework6.dll vs . EntityFramework.dll。

然后,我将引用添加到客户端项目,噗的一声,我的错误消失了。我意识到这是一个边缘情况,因为大多数人不会混合实体框架的版本。

其他回答

重新安装nuget包对我来说很有用。在我将. net Framework版本更改为与所有项目同步后,一些nuget包(特别是Entity Framework)仍然为以前的版本安装。这个命令在包管理器控制台中为整个解决方案重新安装包:

Update-Package –reinstall

在我的例子中,我在一个解决方案中有两个项目,我在引用的项目中添加了一个子名称空间,但在构建时,我没有注意到引用的项目构建失败,它使用了最后一个成功构建的版本,没有这个新的名称空间,所以错误是正确的,它不能被找到,因为它不存在。解决方案显然是修复引用项目中的错误。

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

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

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

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

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

这样做:

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

这确保首先构建库项目。

[Facepalm]我的问题是我在c++的做事方式中添加了依赖。

转到无法构建的项目,在解决方案资源管理器中打开“References”文件夹,查看是否列出了您的依赖项。

如果没有,您可以“添加引用”并在Projects选项卡上选择依赖项。

Shankar繁荣。

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

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

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

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