I have a C# ASP.NET project with 15 WCF/ASMX Service References. Each service is deployed to three different servers; `test`, `staging` and `live`.

Often we need to change the URLs of these service references to different servers, to be able to debug using the correct service with the correct implementation and data.

When managing these Service References I'm having a hard time keeping the URL in sync. When creating a Service Reference `FooService` it stores the URL in three seperate files:

* FooService.disco
* configuration.svcinfo
* Reference.svcmap

Along with creating an `endpoint` node with the URL in the `Web.config`.

If I change the endpoint URL in the Web.config and rebuild the project, it doesn't update the URL in the other files, so it's out of sync. So when I right-click the `FooService` and click `Update Service Reference` it doesn't use the URL stored in the `Web.config`, it uses the URL in the other files.

So the only way is to right-click the `FooService` and click on `Configure Service Reference` and enter the new URL. But that doesn't always work, because sometimes it creates a new node in Web.config named `FooService1`, so I get an error when running my application saying that there are two instances of the same endpoints.

So often I need to skim through the Web.config and delete duplicates of endpoints, which is very frustrating.

What is the best way to manage multiple WCF service references when changing the URL to the service often?