WCF - 不重用的内置类型

时间:2011-07-20 16:05:04

标签: c# wcf

我有一个WCF服务库和另一个在VS2010中具有服务引用的库。在引用属性上选择“在所有引用的程序集中重用类型”。当我在使用库代码中的客户端代理命名空间作用域时,我收到此错误:

  

WCF错误'异常'是一个模糊的引用   'System.Exception'和'My.Namespace.CoreService.Exception'

...其中My.Namespace.CoreService是服务引用的命名空间。我的服务库没有定义名为Exception的类型;有问题的行是内置Exception类型的catch块。

奇怪的是,当我添加服务引用时,在内置类型的消费项目中自动创建了四个数据源(System.Data.DataSetSystem.Data.DataTableSystem.ServiceModel.Channels.MessageSystem.Xml.XmlElement) 。这些四种类型在我的一些OperationContracts中用作返回类型。

基于此,在我看来,内置类型不会在程序集边界中重用。这对我没有任何意义,任何人都可以帮忙吗?

由于

1 个答案:

答案 0 :(得分:0)

您在生成的代理代码中是否有一个名为exception的类型(服务在其合同中使用的类型)?如果是这样,您将必须完全限定类型或使用别名

您可以查看生成的代码,点击“显示解决方案资源管理器中的所有文件”并打开服务引用和reference.svcmap,直到看到reference.cs - 这是生成的代理代码