无法添加Secure Web服务作为VS2005项目的参考

时间:2009-04-14 08:53:42

标签: c# web-services

我正在尝试将一个安全的Web服务添加到(C#)项目作为参考,但VS提出了以下错误:

  

无法转换类型的COM对象   'System .__ ComObject'到接口类型   'EnvDTE.IVsExtensibility'。这个   操作失败,因为   QueryInterface调用COM   与IID接口的组件   '{3C536122-57B1-46DE-AB34-ACC524140093}'   由于以下错误而失败:否   支持这样的接口(例外   来自HRESULT:0x80004002   (E_NOINTERFACE))。

任何人都有任何想法,为什么会这样?

1 个答案:

答案 0 :(得分:1)

找到以下诊断here。最初由Steven Cheng回答。希望这会有所帮助。

问题描述:

尝试使用Visual Studio 2005中的“添加Web引用”功能在同一Web服务应用程序中针对多个Web服务端点(asmx文件)创建Web服务客户端代理。如果Web服务应用程序受客户端身份验证保护,这将提示客户端输入凭据,IDE将报告以下异常:

“无法将'System .__ ComObject'类型的COM对象强制转换为接口类型'EnvDTE.IVsExtensibility'。此操作失败,因为QueryInterface调用COM组件上的IID为”{3C536122-57B1-46DE-AB34“的接口-ACC524140093}由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE))。“

原因:

这是一个纯Visual Studio 2005特定问题,在处理将提示输入客户端凭据的服务端点时,内部设计时COM对象存在问题。

目前正在进行的工作:

  1. 访问外部webbrowser中的服务描述/ WSDL文档,并将WSDL文档保存到本地文件系统。并在Visual Studio 2005中针对本地保存的WSDL文档添加Web引用。

  2. 使用.net框架中的WSDL.exe命令实用程序在外部创建Web服务客户端代理。