Visual Studio 2012错误Reference.svcmap抛出错误

时间:2012-06-20 04:46:54

标签: wcf visual-studio-2012

从昨天开始使用Visual Studio 2012 RC,我们有一个WCF解决方案。每当我尝试在另一个解决方案中使用“添加/删除引用”对话框时,我在添加服务后会出现以下错误。

  

错误1 Reference.svcmap:无法为服务生成代码   参考'DPService'。无法导入wsdl:portType详细信息:An   运行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:wsdl:binding所依赖的portType。 XPath到   WSDL:端口类型:   //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='IGQDynamicPackaging']   XPath到错误源:   //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpContextBinding_IGQDynamicPackaging']   无法导入wsdl:port详细信息:导入时出错   wsdl:wsdl:port依赖的绑定。 XPath到   WSDL:结合:   //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中给出了相同的参考错误。

3 个答案:

答案 0 :(得分:42)

我遇到了类似的问题,我在配置服务参考对话框中取消选中了“在引用的程序集中重用类型”复选框。

1)右键单击“服务参考” 2)选择“配置服务引用” 3)取消选中“在引用的程序集中重用类型”

我不确定这样做的所有后果,但它让我能够再次使用该参考。

答案 1 :(得分:4)

看起来'CustomerServiceReference'已在项目引用的两个程序集中定义。代码生成器不知道应该使用哪一个。

要摆脱这个问题,就像Lars说的那样。您可以配置服务引用,在其高级选项选项卡中,可以禁用“在所有引用的程序集中重用类型”,(通过选择“在指定的引用程序集中重用类型”)。您可以选择除导致此问题的程序集之外的所有程序集(它将CustomerServiceReference定义为错误消息说明。)

答案 2 :(得分:1)

卸载vs 2012,vs 2010会给你"未知错误",一个小错误消息,修复vs 2010(重新安装它),它就没问题了!