Context
We have developed the application from end-to-end using .NET Stack. So, let's say we are managing something like this:
WPF Client <=> Web Service:
- Development) Plain reference (direct calls to the WCF Service project inside VS, not deployed in IIS)
- Production) Remote Web Service [IIS @ remote server, need VPN to connect]
Web Service <=> Database:
- Development) SQL Server Express local DB [@ development machine]
- Production) SQL Server DB [@ production server, same as WS]
Notice that I've implemented it "The manual way, the right way" (http://www.code-magazine.com/Article.aspx?quickid=0809101). Hence, separate contracts / client proxies and so on ...
Question
How could I get a set-up like described before in an elegant way? I mean, the web service <=> database it's trivial, since I can use the web.config transformations in order to switch the connection string between debug & release. But, how can I automatically switch the "connection" from the client app to the Web Service?
In production I'm using a reference to the proxies, and describing an end-point in the app.config file. I guess that in development I would just need a plain reference to the web service itself. [Should I add/remove references between debug/release configurations? If yes, how could this be achieved programatically? ... I'm completely lost].
Thank you for your time guys! ;)
EDIT:
As @AlexanderBalte suggests, the development behavior is just a direct call of methods. I don't have an app server in the main development machine.