发布时 .net Web 服务参考更新

.net web service reference update while publishing

我有一个网站项目,我在其中使用网络服务获取数据。该服务是与网站位于同一项目中的 .asmx。因此,此 Web 服务的引用(web.config、.svcinfo、.disco、.wsdl 和 .svcmap 中的端点)在开发时指向 localhost。部署网站(发布)时,我需要在构建之前更新引用,以便它指向我正在部署的位置。

我在不同的构建上下文中使用了 web.config 转换来更新 web.config 中的引用,并尝试通过调用 [=29 创建一个 BeforeBuild 任务来生成 .wsdl、.svcinfo 等=].

Web.config 转换工作正常,但 SvcUtil.exe 尝试在已部署地址上发现 Web 服务以生成文件,因此...由于所有这些都是在部署时发生的,因此不会生成任何文件,因为目标地址中还没有网络服务。

我发现流程应该是这样的:
1- 从 web.config-transformations
获取目标地址 2- 发现本地(在项目中,而不是在目标中)网络服务
3- 使用目标地址
创建或更新 .wsdl、.disco 等 4- 构建
5-部署

但我不知道如何让它发挥作用...有什么想法吗?

我不确定这是否适用于 ASMX 但在 WCF 中使用配置转换修改 web.config 就足够了。无需再次更新服务参考。仅当服务方法发生变化时更新服务引用。

生成的服务 类 应该使用相对地址。 web.config 文件中的地址前缀为红色。