从昨天开始使用 Visual Studio 2012 RC,我们有一个 WCF 解决方案。每当我尝试在另一个解决方案中使用“添加/删除引用”对话框时,添加服务后都会出现以下错误。
错误 1 Reference.svcmap:无法为服务引用“DPService”生成代码。无法导入 wsdl:portType 详细信息:运行 WSDL 导入扩展时引发异常:System.ServiceModel.Description.DataContractSerializerMessageContractImporter 错误:类型“WebSupergoo.ABCpdf8.Objects.Bookmark”是不支持的递归集合数据协定。考虑修改集合“WebSupergoo.ABCpdf8.Objects.Bookmark”的定义以删除对自身的引用。XPath 到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IGQDynamicPackaging'] 无法导入 wsdl:binding 详细信息:导入一个错误wsdl:binding 所依赖的 wsdl:portType。XPath 到 wsdl:portType: //wsdl: 定义[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IGQDynamicPackaging'] XPath 到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org /']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://tempuri.org/']/wsdl:service[@name='GQService']/wsdl:port[@name='WSHttpContextBinding_IGQDynamicPackaging'] App_WebReferences/DPService/ portType[@name='IGQDynamicPackaging'] XPath 到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 无法导入 wsdl:端口详细信息:导入 wsdl: 绑定时出错,该 wsdl:port 依赖于该绑定。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://tempuri.org/']/wsdl:service[@name='GQService']/wsdl:port[@name='WSHttpContextBinding_IGQDynamicPackaging'] App_WebReferences/DPService/ portType[@name='IGQDynamicPackaging'] XPath 到错误源://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 无法导入 wsdl:端口详细信息:导入 wsdl: 绑定时出错,该 wsdl:port 依赖于该绑定。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://tempuri.org/']/wsdl:service[@name='GQService']/wsdl:port[@name='WSHttpContextBinding_IGQDynamicPackaging'] App_WebReferences/DPService/ binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://tempuri.org/']/wsdl:service[@name='GQService']/wsdl:port[@name='WSHttpContextBinding_IGQDynamicPackaging'] App_WebReferences/DPService/ binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 无法导入 wsdl:port 详细信息:导入 wsdl:port 所依赖的 wsdl:binding 时出错。wsdl:binding 的 XPath: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging'] 错误源的 XPath: //wsdl:definitions[@ targetNamespace='http://tempuri.org/']/wsdl:service[@name='GQService']/wsdl:port[@name='WSHttpContextBinding_IGQDynamicPackaging'] App_WebReferences/DPService/
请注意:当我使用 VS 2010 时,上述服务工作正常。供您参考,我们正在使用“在引用的程序集中重用类型”打开并选中“在所有引用的程序集中重用类型”选项。
相同的设置在 VS 2010 上运行良好,我们可以添加参考。但是现在,在安装 VS 2012 RC 之后,我无法为 VS 2010 和 VS2012 添加参考。任何解决方案或解决此问题。
我只想回滚并想使用VS2010,“添加服务”现在在VS 2010中给出了相同的参考错误。