Everyone else seems to recommend using the latest version, so I will support the trend and suggest 2.0 if you do not need any functions from later versions ... if it is really a client library and you have no control and little idea who is going to use it.
It really depends on who your users will be, which in turn depends on what the REST service is. If this is something like social media, then I would say that your customers will be in an environment where they can use .NET 4. If this is something that can be used by financial institutions or other large companies, they can be with you there is no way to use .NET 4, so you should consider earlier versions. This is the approach that we used for Noda Time , where we believe that the library will be useful in a variety of situations, and we cannot predict customer requirements.
Of course, if you know all of your customers and know that they will all be able to use .NET 4, then go with that.
The big disadvantages of using .NET 2.0 are that you cannot use LINQ internally (unless you use LINQBridge or something similar, which adds another dependency for your library), and you cannot (purely) provide extension methods. If you can usefully provide additional functions to the client, if you use a later version, you can provide several versions of the library, but obviously, the headache of the service.
Another consideration is whether to provide a version of Silverlight, which again depends on what service you provide and which users you expect.
Jon skeet
source share