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

Error 7 The type or namespace name 'Services' does not exist in the namespace 'System.Data' (are you missing an assembly reference?) C:\U...s\Visual Studio 2010\Projects...\DataService.cs ... Error 8 The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?) DependencyResolver.cs 3 14 Error 10 The type or namespace name 'Web' does not exist in the namespace 'System.ServiceModel' (are you missing an assembly reference?) Error 12 The type or namespace name 'DataService' could not be found (are you missing a using directive or an assembly reference?)

我该怎么解决呢?


当前回答

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

删除WebMatrix。WebData和读取它以及在WebMatrix中添加。数据修正了我的类型或命名空间名称“数据”不存在命名空间“WebMatrix”....的错误

其他回答

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

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

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

复制步骤:

解决方案有项目a,项目b。 ProjectA引用第三方log4net,并标记为Copy local: true。 projecb引用ProjectA,没有引用log4net。 解决方案编译良好。 ProjectA: log4net的引用属性更改为Copy local: false。 清理bin和obj文件夹。 当您编译时,ProjectA编译,但projecb抱怨找不到ProjectA名称空间。

这是因为ProjectB bin文件夹缺少第三方库(在我的情况下是log4net)!

在这种情况下,解是-

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

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

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

如果您处于源代码控制之下,请删除.refresh.dll文件。然后重建。它应该会起作用。 这对我很有效