You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#控制台应用添加服务引用时出现WSDL导入错误求助

解决C#控制台应用添加Web服务引用失败的问题

问题原因

Windows Forms/WPF项目模板默认包含了处理HTTP绑定类型的Web服务支持组件,而控制台项目为了轻量化,默认没有引用这些组件,导致无法识别WSDL中的HTTP GET/POST绑定扩展元素。

解决方案

1. 对齐.NET版本

确认控制台项目的.NET版本和正常运行的Windows应用完全一致,版本差异可能引发兼容性问题。

2. 添加必要的程序集引用

  • 右键控制台项目 → 管理NuGet程序包,搜索并安装System.Web.Services(适用于.NET Framework);若使用较旧的Web服务标准,可安装Microsoft.Web.Services3。
  • 或者直接编辑项目文件(.csproj),添加以下引用节点:
    <Reference Include="System.Web.Services" />
    

3. 调整服务引用生成规则

添加服务引用时,点击高级按钮,在弹出的“服务引用设置”窗口中,取消勾选允许HTTP GET和HTTP POST选项,只保留SOAP协议支持,再完成引用添加。

4. 手动生成代理类(备选方案)

使用svcutil.exe命令行工具跳过HTTP绑定,直接生成SOAP代理:

svcutil.exe /language:C# /out:ExportServiceProxy.cs /config:App.config https://www.cbh.com/your-service-endpoint?wsdl

将生成的ExportServiceProxy.cs文件添加到控制台项目,并用生成的App.config替换项目原配置文件。

5. 清理无效配置

打开控制台项目的App.config,删除所有与ExportServiceHttpGet、ExportServiceHttpPost相关的绑定、终结点配置节点,只保留SOAP类型的配置项。

内容的提问来源于stack exchange,提问作者Darrell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 05:07:13