返回自定义类的WCF服务在Reference.cs中生成错误

Stu*_*ord 6 c# wcf datacontract visual-studio-2008

我在Visual Studio 2008中有一个WCF服务项目,它包含大约12个方法,其中一些返回原始类型,如bool或string.我还有一个Visual Studio单元测试项目,它引用了已发布的WCF服务.当所有返回类型都是原始时,Test Project会成功编译.

如果我向返回自定义类的服务添加一个新方法,发布它并更新测试项目中的服务引用,它就不会编译.错误是: -

  1. "PublisherFaultException"类型已包含"Reason"的定义.
  2. "PublisherFaultException"类型已包含"PropertyChanged"的定义.
  3. 类型'Publisher.Test.LibraryReference.PublisherFaultException'已经定义了一个名为'RaisePropertyChanged'的成员,它具有相同的参数类型.

全部在自动生成的reference.cs文件中.

WCF服务方法的合同是: -

Page GetItem(string path);
Run Code Online (Sandbox Code Playgroud)

Page类具有DataContract属性,它的公共属性具有DataMember属性.

我不愿意修改Reference.cs文件,因为每次更新服务时我都需要这样做.

任何人都知道为什么会这样吗?

斯图尔特.

Rub*_*ink 1

添加服务引用时,您会获得“程序集中重用类型”选项 - 这可能是解决重复问题的关键。

或者您是否有一些导致重复的测试参考?

另外,请查看项目树的“引用”部分,看看其中是否有任何意外内容(是否有对 2 个程序集的引用,这两个程序集都在同一命名空间中包含服务引用?)。