VB.Net类库项目中升级Web Reference的低代码改动方案咨询
SOAP服务升级后Web Reference最优操作方案
最优操作路径优先级
优先选择直接修改「Web Reference URL」配置后执行更新的方案,仅在更新出现不兼容报错时,再使用「删除现有引用后同名重加」的方案。
直接更新方案的优势
- 改动量最小:原有自定义命名空间、已生成的代理类、方法/参数定义都会默认保留,只要新版WSDL的接口结构和旧版兼容,原有业务代码不需要做任何调整,不会出现编译报错。
- 操作步骤简单:
- 右键点击项目中对应的Web Reference,选择「属性」
- 将属性面板中的
URL字段替换为新版WSDL/asmx的对应地址 - 再次右键点击该Web Reference,选择「更新Web引用」即可完成操作
删除后同名重加方案的适用场景
如果新版WSDL存在不兼容变更(比如方法名修改、参数结构重构、服务命名空间变更),直接更新时出现代理类生成报错、或者更新后原有代码出现大量编译错误,再选择该方案:
- 删除原有Web Reference后,添加新引用时严格使用和旧引用完全相同的引用名称、相同的自定义命名空间,这样原有代码中所有引用该服务命名空间、实例化代理类的代码都不需要调整,仅需要适配修改接口调用的参数、返回值相关逻辑即可。
注意事项
- 操作前提前备份项目配置文件(
Web.config/App.config)中对应服务的配置节点,以及已生成的代理类文件,避免操作异常后无法回滚。 - 建议后续将该Web Reference的URL行为设置为
动态,后续如果仅需要修改服务地址,直接调整配置文件中的对应配置值即可,不需要重新更新引用。
内容的提问来源于stack exchange,提问作者Sarfaraz Jamal
相关产品推荐
相关产品推荐

