2011-12-07 60 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