尽管在Visual Studio 2005中的客户端项目上启用了WSE 3.0,但我总是使用从SoapHttpClientProtocol派生的服务代理来完成Web引用。我必须手动将继承更改为WebServicesClientProtocol,但更新它将恢复为SoapHttpClientProtocol。我不确定Visual Studio项目属性可以在哪里永久使用WebServicesClientProtocol?


据我所知,Visual Studio应该生成常规的基于SoapHttpClientProtocol的服务代理,以及另一个后缀为<!>“Wse <!>”的服务代理;源自Web ServicesClientProtocol的名称。 Even Visual Studio .NET 2003已经具有此功能。因此,由于某些原因,我的Visual Studio 2005与WSE 3.0没有紧密合作来生成额外的WebServicesClientProtocol代理。但缺少的链接在哪里?


2009年1月13日更新

我有另一台机器来测试它,并且看到这个Visual Studio 2005 可以基于WebServicesClientProtocol生成代理。这意味着我的原始工作站的Visual Studio已经搞砸了;不太确定如何修复它。

添加:嗯,重新安装WSE 3.0也无济于事。也许WSE只能在x64 Windows Vista上运行......?

有帮助吗?

解决方案

看起来像是一个 64位操作系统肯定有其缺点

WSE 3.0安装程序无法使用以下条目更改Visual Studio 2005的配置文件C:\ Program Files(x86)\ Microsoft Visual Studio 8 \ Common7 \ IDE \ devenv.exe.config。

<configuration>
  <system.web>
    <webServices>
      <soapExtensionImporterTypes>
        <add type="Microsoft.Web.Services3.Description.WseExtensionImporter,
           Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral,
           PublicKeyToken=31bf3856ad364e35" />
      </soapExtensionImporterTypes>
    </webServices>
  </system.web>
</configuration>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top