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

如何在.NET解决方案的测试项目中更新Service Reference?

解决同一解决方案中WCF服务引用无法更新的问题

这问题我碰到过好几次,同一解决方案里的WCF服务更新后,测试项目没法正常更新服务引用确实挺闹心的,给你几个亲测有效的解决办法:

  • 先确认WCF服务正常运行
    确保按下F5启动后,IIS Express托管的WCF服务没有报错。你可以打开浏览器,访问服务的元数据地址(比如http://localhost:xxxx/YourService.svc),如果能看到WCF的默认欢迎页面,说明服务已经正常启动,元数据也能正常访问。

  • 手动添加/重新添加服务引用
    如果VS没自动显示更新选项,别等了,手动操作更靠谱:

    1. 在测试项目上右键,选择「添加 > 服务引用」
    2. 在弹出的窗口里,点击左下角的「发现」按钮,选择「解决方案中的服务」,VS会自动扫描当前解决方案里的WCF服务
    3. 选中你的WCF服务,确认好命名空间后点击「确定」,就能获取到最新的OperationContract了
    4. 如果之前已经添加过服务引用,也可以直接删掉旧引用,再按上面的步骤重新添加,比找「更新服务引用」选项更省心
  • 改用项目引用替代服务引用
    既然两个项目在同一解决方案里,其实可以跳过服务引用,直接给测试项目添加对WCF项目的项目引用:

    1. 在测试项目的「引用」上右键,选择「添加项目引用」
    2. 在弹出的窗口里勾选你的WCF项目,点击确定
      这样测试项目就能直接使用WCF项目里的契约接口,不用依赖自动生成的代理类,后续更新OperationContract后,只要重新编译WCF项目,测试项目就能自动获取到最新的接口,彻底避免服务引用更新的问题
  • 清理重建解决方案
    有时候VS的缓存会导致识别异常,试试先清理整个解决方案(点击顶部菜单「生成 > 清理解决方案」),然后重新生成所有项目(「生成 > 重新生成解决方案」),之后再去操作服务引用,说不定就能看到更新选项了

附上你提供的截图:
测试项目中未显示更新服务引用的选项

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:45:32