【发布时间】:2012-03-02 12:15:13
【问题描述】:
我有两个 WCF 服务应用程序,它们在彼此之间传递数据传输对象以执行某些操作。我已将 DataContracts 移至 Common 项目,因为这似乎是合乎逻辑的事情,但我在添加对 WCF 服务应用程序之一的服务引用时遇到问题。对于服务的不同部分(合同、服务等),我遇到了 4 个类似的错误:
自定义工具警告:无法导入 wsdl:portType 详细信息:运行 WSDL 导入扩展时引发异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter 错误:在命名空间“http://schemas.datacontract.org/2004”中使用数据合同名称“LicenceForm”引用类型“ServiceLibraryName.Common.Data.LicenceForm, Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null” /07/ServiceLibraryName.Common.Data' 无法使用,因为它与导入的 DataContract 不匹配。需要从引用类型中排除此类型。 错误源的 XPath://wsdl:definitions[@targetNamespace='http://schemas.datacontract.org/2004/07/ServiceLibraryName.Common.Data']/wsdl:portType[@name='ILicenceGeneration'] C: \SourceCode\Release 2 \ServiceLibraryName\Sharepoint\Service References\LicenceGenerationCrm\Reference.svcmap 1 1 Sharepoint
我确定引用的文件程序集在服务和消费者上都是同一个文件,但我无法摆脱此消息。检查服务引用配置中的重用程序集。
使用 SVCUtil 并引用程序集也会产生相同的错误。
欢迎任何想法或建议。
【问题讨论】:
-
您是否尝试将服务引用添加到共享程序集?
-
您好,感谢您的回复。不知道你在这里是什么意思?为什么我的数据合同项目需要引用正在使用它的服务?