WCF服务参考不重用现有程序集中的类型(VS 2010 Beta 2)

时间:2010-01-14 18:05:13

标签: wcf visual-studio-2010-beta-2

我正在寻找在WCF服务和客户端之间共享类型(实际类,而不是代理)的最佳方法。为此,我在一个单独的程序集中定义了类,这些程序包括服务和客户端引用。我在客户端生成服务引用时选择了“在所有引用的程序集中重用类型”,但是使用所有类的代理生成了References.cs。

这与this one完全相同,但我不知道如何实施已接受的解决方案。一个区别是我正在使用VS 2010 Beta 2。

  

导入完整的服务合同   以代码形式

  

创建自己的ClientBase派生类。这真的很容易

假设这是最好的方法,我会很感激一个很好的链接,涵盖了如何做到这一点。链接答案中概述的方法是最好的吗?

3 个答案:

答案 0 :(得分:16)

我在同一步骤做了两件事。不确定是否有一个或两个解决了问题:

  1. 将[DataContract(Namespace =“My.Shared.Assemblys.Namespace”)]添加到共享程序集中的一个类。
  2. 重启VS 2010 Beta 2

答案 1 :(得分:3)

有同样的问题,但是我忘了为客户构建DataContracts程序集,因此它生成了自己的合同。一旦我重建了组件 - 它重复使用它们。

答案 2 :(得分:1)

我对VS2010 SP1的问题是尝试使用派生自Dictionary<T,U>且具有CollectionDataContract属性的类。似乎VS不会重复使用这种类型......我也尝试过Eric的建议,但它没有用。