2011-12-07 44 views
2

我有一个EF4类库,它在我的Silverlight应用程序的Web项目中引用。 EF4的东西工作正常,我可以在Silverlight应用程序中正确使用它。我有一个操作,它将抽取2万个包含60,000多行的数据集,对它们进行比较,并使用一个来更新另一个数据集。我已经在Silverlight应用程序中工作了,但我很确定这是做错的地方,因为没有任何可视化输出,它是数据操作,所以我创建了启用Silverlight的WCF服务,并且将比较/更新代码添加到该代码中,认为在服务器上运行它会更加正确,并从SL应用程序调用它。从WCF服务访问EF4实体时获取System.ComponentModel.INotifyDataErrorInfo错误

当我尝试和构建Web项目,我收到以下错误

The type 'System.ComponentModel.INotifyDataErrorInfo' is defined in an assembly that is not referenced. You must add a reference to 'System.Windows, Version=2.0.5.0' 

在这行代码

List<x3Servers> x3List = (from s in x3Context.x3Servers select s).ToList(); 

凡x3Servers是我的数据库中的实体,并x3Context是设置为数据模型,服务实体对象(XSDataLibrary.Models.xSightEntities)。

我相信这是关于将INotifyDataErrorInfo从System移到Silverlight应用程序的System.Windows。我不能包含System.Windows,因为它是一个Web项目,但我认为可以在启用Silverlight的WCF服务中使用EF4实体(或者也许这就是我错误的地方)。

有关如何从WCF服务(可从Silverlight应用程序调用该服务)使用EF4内容的任何帮助或建议,或者如何避免此错误将不胜感激。

感谢

米克

+0

我在MVVM中使用silverlight。尝试使用nUnit进行单元测试,但是我的View Model也遇到了这个错误。 “'System.ComponentModel.INotifyDataErrorInfo'在未引用的程序集中定义,您必须添加对程序集”System.Windows,Version = 5.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e'的引用“ ” – shalin

+0

现在打开旧的Silverlight应用程序时出现同样的错误。可悲的是删除使用和所有其他的东西似乎并不适用于我。 – counterflux

回答

0

试图建立这几次,但经常会得到同样的错误。我在我的笔记本电脑上创建了一个测试应用程序,使用相同的设置,并且工作(在添加对System.Data.Entity的引用之后)。

我检查了我的桌面上的项目,该引用已经存在,但我有一些不必要的'使用'语句。我将它们删除,然后项目正确地建立。出于好奇,我解开了删除,并做了另一个构建,并且它仍然正确地构建,所以我正在粉化这个问题,导致一些奇怪的组合让VS让它的内裤变形。

M