我有一个用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?)

我该怎么解决呢?


当前回答

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

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

其他回答

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

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

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

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

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

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

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

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