2009-12-11 85 views
0

我有一個通用的庫,其中包含通過DLL在WCF服務和客戶端之間共享的枚舉。是的,我知道這樣做的更好方式是從我的公共庫中創建一個服務 - 這是爲了以後。WCF - 通用庫枚舉問題 - C#

我已經改變了我的共同的lib,增加了另一個字段的枚舉。編譯完成後,我更新了WCF服務和Web客戶端中的DLL。

起初,我得到的錯誤:

Ensure that the necessary enum values are present and are marked with EnumMemberAttribute attribute if the type has DataContractAttribute attribute.

這很快得到了客戶端上從服務中刪除參考配置檢查「中引用組件重用類型的」校正。

但是現在,我得到一個錯誤指的是新的枚舉值我說:

Invalid enum value 'TestDataReceived_OK_NoDataWritten' cannot be deserialized into type...

因此,這使我相信,有兩個版本的庫在那裏,但我不知道怎麼樣解決這個問題。

我沒有在我的服務接口中設置任何[DataContract]區域。如果我需要,一些代碼示例會很有用。

謝謝。

+5

您是否重新生成了客戶端服務參考? – 2009-12-11 19:50:44

+0

建議避免在Web服務中枚舉,因爲它們會產生向後兼容的問題。你的問題就是一個很好的例子。請參閱http://stackoverflow.com/a/788281/52277 – 2013-07-21 10:10:14

回答

0

回過頭來看看這個,我通過正確配置配置文件來解決這個問題。