I've deployed several services that share some of their data
contracts. When I build a client application that calls more
than one of the services, each service contributes a copy of the
data contract during proxy generation. This causes a compile
error because the same type is defined multiple times. How do I
resolve the conflict?  Assuming that you don't want to change
the services, there are four obvious ways to fix the conflict.
Three of the ways are mostly manual and one of the ways is
mostly automatic.    1. Manual resolution: split up the client
application into separate compile units so that each of the
compile units references only one of the services. This method
is the most invasive and tedious solution.   2. Manual
resolution: edit the output of proxy generation to place each
service proxy in its own namespace. This method requires very
little work but makes writing the client application
inconvenient because types need to be namespace qualified and
passing objects between different services becom