我有一个WCF服务库和另一个在VS2010中具有服务引用的库。在引用属性上选择“在所有引用的程序集中重用类型”。当我在使用库代码中的客户端代理命名空间作用域时,我收到此错误:
WCF错误'异常'是一个模糊的引用 'System.Exception'和'My.Namespace.CoreService.Exception'
...其中My.Namespace.CoreService
是服务引用的命名空间。我的服务库没有定义名为Exception
的类型;有问题的行是内置Exception
类型的catch块。
奇怪的是,当我添加服务引用时,在内置类型的消费项目中自动创建了四个数据源(System.Data.DataSet
,System.Data.DataTable
,System.ServiceModel.Channels.Message
和System.Xml.XmlElement
) 。这些四种类型在我的一些OperationContracts中用作返回类型。
基于此,在我看来,内置类型不会在程序集边界中重用。这对我没有任何意义,任何人都可以帮忙吗?
由于
答案 0 :(得分:0)
您在生成的代理代码中是否有一个名为exception的类型(服务在其合同中使用的类型)?如果是这样,您将必须完全限定类型或使用别名
您可以查看生成的代码,点击“显示解决方案资源管理器中的所有文件”并打开服务引用和reference.svcmap,直到看到reference.cs - 这是生成的代理代码