类型或命名空间名称不存在

本文关键字:不存在 命名空间 类型 | 更新日期: 2023-09-27 17:49:30

我有一个用Visual Studio 2010构建的WCF数据服务项目,运行良好。突然,它不能编译了。它给了我这样的信息:

错误7命名空间"System"中不存在"Services"类型或名称。Data’(您是否缺少程序集引用?)C: ' U…s'Visual Studio 2010'Projects…'DataService.cs…

错误8类型或命名空间名称'Linq'在命名空间'System'中不存在(您是否缺少程序集引用?)DependencyResolver.cs 3 14

错误10类型或命名空间名称'Web'在命名空间'System中不存在。ServiceModel'(是否缺少程序集引用?)

错误12类型或命名空间名称'DataService'找不到(您是否缺少using指令或程序集引用?)

我该如何修复它?

类型或命名空间名称不存在

我遇到过同样的问题,我不得不将所有项目的"目标框架"设置为相同。然后它建得很好。在项目菜单上,单击ProjectName属性。单击编译选项卡。单击高级编译选项。在Target Framework中,选择您想要的框架。

我在System上遇到了一个问题。无法识别Linqusing语句有红色的弯弯曲曲等。我解决这个问题的方法是将我的网站改为目标。net 3.5,然后切换回原来的目标框架(在我的情况下是4.0)。

我发现这是由于我的名称空间名称与类名称(MyWorld.MyWorld = Namespace.ClassName)相同造成的。

将名称空间更改为与类不同的名称,这样就可以编译了。

来源

我在ASP中遇到了同样的问题。. NET MVC网站,当我试图使用LINQ到SQL。我修复了这个问题:

解决方案资源管理器->参考->右键单击System.Data.Linq -> Copy Local (True)

我在System.Data.SQLite中遇到过同样的问题。问题的根源是,您使用的dll应该与您的项目具有相同的。net版本。

例如,如果你在。net 4.5中使用了SQLite(在我的情况下),那么你的平台目标也应该是。net 4.5。

您可以通过:Project>(项目名称)Properties> Build找到平台目标。

检查你的目标框架是否有相同的。net版本。我也有同样的问题,我的类。net是3.5,而web solution是4.5。我同步了这些,然后它工作了:)

我有同样的问题,尝试了所有以上没有任何成功,然后我发现它是什么:

我在我的一个项目中创建了一个名为"System"的文件夹,然后在其中创建了一个类。这个问题似乎源于在创建。cs文件时有一个名为"System"的命名空间,即使它是在"MyProject.System"的命名空间中。

回想起来,我可以理解为什么这会造成问题。它一开始真的难住了我,因为错误消息最初似乎与问题无关。

在我的例子中,问题的发生是因为我创建的类有一个与现有类相干扰的名称空间。新的类A有名称空间zz.yy.xx(错误地)。对另一个命名空间yy中的对象的引用。xx没有在类A或其他命名空间为zz的类中编译。

我将A类的命名空间改为yy。应该是Xx,它开始工作了。

对于任何有链接文件的人:我有这个问题,并且正在使用silverlight,并且抛出此错误的违规文件是一个链接文件。

编译器的错误告诉我错误发生在文件所在的项目中。最终,错误不在该项目中,它发生在包含链接文件的项目中。那个项目缺少一个参考文献。

我在使用Visual Studio的Git集成来管理项目时遇到了这个问题。由于某些原因,Windows Phone 8项目在针对x86时编译得很好,但当我将其设置为针对ARM时,它会编译失败,并显示"Advertising"不存在于Microsoft命名空间中。

我最终通过删除Microsoft.Advertising.*.dll引用并重新添加它来解决这个问题。

我也遇到了同样的错误。在我发现我的项目有错误的程序集名称后(我从另一个项目复制文件,命名空间有点混乱),并将其更改回来,项目编译得很好。

我得到了一个非常类似的错误消息,这是由于无意中在我的解决方案的另一个项目中复制了一个类而引起的。删除副本修复了这个问题

在我的情况下,项目中没有变化,它只是停止编译,并且带有"类型或命名空间名称XXX不存在",并且在抱怨类本身中,对XXX命名空间/类的智能感知工作良好。问题确实出在参考文献上!

复制步骤:

  1. 解决方案有ProjectA, ProjectB。ProjectA引用第三方log4net,标记为Copy local: true。ProjectB引用ProjectA,没有引用log4net。

  2. 项目变更:log4net对Copy local: false的引用属性

  3. 清理bin和obj文件夹。
  4. 当你编译时,ProjectA正在编译,但是ProjectB抱怨找不到ProjectA命名空间。

This is because ProjectB bin文件夹丢失第三方库 (log4net in my case)!

在这种情况下,解决方案是-

  1. 确保第三方库引用设置为Copy local: true
  2. 在项目属性的参考路径下添加这些库的路径。

如果所有这些都失败了,比如确保目标框架是相同的,并且您正在处理VS2010中的WPF类库,只需重新启动Visual Studio。这对我起了作用。

我正在引用Microsoft.CommerceServer.Runtime.Orders并遇到此错误。这个项目很老了,使用的是Target框架。net 2.0。在输出中,我有这样的错误:

C:'Windows'Microsoft.NET'Framework'v4.0.30319'Microsoft.Common.targets(1605,5): warning MSB3268: The primary reference "Microsoft.CommerceServer.Runtime" could not be resolved because it has an indirect dependency on the framework assembly "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v2.0". To resolve this problem, either remove the reference "Microsoft.CommerceServer.Runtime" or retarget your application to a framework version which contains "System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

我只是将目标框架更改为。net 4,现在它就可以构建了。

我最近需要做一个系统还原,它导致我的几个文件改变/消失,我一直在工作,因为恢复。其中一些是DLL文件。我使用源代码控制来检索整个项目,但我仍然有类似的问题。我找到了这个答案,描述了您可能需要删除DLL并读取它以修复错误。这就是我的情况。

删除WebMatrix.WebData并读取它以及添加WebMatrix.Data修复了我的The type or namespace name 'Data' does not exist in the namespace 'WebMatrix' ...错误

如果您处于源代码控制下,请删除.刷新.dll文件。然后重建。这应该行得通。