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

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

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

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

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

无法找到类型或命名空间名称“DataService”(您是否缺少一个using指令或程序集引用?)

我该怎么解决呢?

606208 次浏览

我也遇到过同样的问题,我必须将所有项目的“目标框架”设置为相同的。然后它建得很好。在项目菜单上,单击ProjectName属性。单击compile选项卡。单击高级编译选项。在目标框架中,选择所需的框架。

当我试图使用LINQ到SQL时,我在ASP。NET MVC站点上遇到了同样的问题。我通过以下方法解决了这个问题:

解决方案资源管理器->引用->右键单击System.Data.Linq ->本地复制(True)

我有一个问题与系统。Linq不被识别。using语句有一个红色的曲线等等。我解决这个问题的方法是将我的网站更改为目标dotnet 3.5,然后切换回原来的目标框架(在我的情况下是4.0)。

检查你的目标框架是否有相同的。net版本。我也遇到过同样的问题,我的课程。net是3.5,web解决方案是4.5。我同步了这些,然后它工作了:)

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

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

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

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

如果你在源代码控制下,删除.refresh.dll文件。然后重建。它应该会起作用。 这对我有用

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

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

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

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

回顾过去,我可以理解为什么这会引起问题。起初它真的难住了我,因为错误消息最初似乎与问题无关。

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

将您的命名空间更改为与您的类不同的名称,这将编译。

Source .

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

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

在我的情况下,在项目中没有任何变化,它只是停止编译和“类型或名称空间名称XXX不存在”,在抱怨类本身的智能感知XXX名称空间/类工作正常。 问题确实出在参考文献上!< / p >

复制步骤:

  1. Solution有ProjectA, projecb。 ProjectA引用第三方log4net并标记为Copy local: true。 projecb引用ProjectA,没有引用log4net。 解决方案编译良好。

  2. ProjectA: log4net的引用属性更改为Copy local: false

  3. 清理bin和obj文件夹。
  4. 当您编译时,ProjectA编译,但projecb抱怨找不到ProjectA名称空间。

__abc0 __abc2 __abc1

在这种情况下,解是-

  1. 确保第三方库引用设置为Copy local: true 李或< / >
  2. 在引用路径下的项目属性中添加此类库的路径。

我正在引用Microsoft.CommerceServer.Runtime.Orders并遇到此错误。这个项目是旧的,有目标框架。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,现在就可以构建了。

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

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

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

您可以通过以下方式找到平台目标:项目>(项目名称)属性> Build。

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

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