4

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


据我所知,Visual Studio 应该生成常规的基于 SoapHttpClientProtocol 的服务代理,以及另一个后缀为“Wse”的服务代理,该名称源自 Web ServicesClientProtocol。甚至 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 上运行...?

4

1 回答 1

2

看起来像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>
于 2009-01-15T07:37:56.540 回答