Все остальные, похоже, рекомендуют использовать последнюю версию, поэтому я пойду на тренде и предложу 2.0, если вам на самом деле не нужны какие-либо функции из более поздних версий ... если это действительно клиент библиотека, и у вас нет контроля над ней, и вы не знаете, кто ее будет использовать.
Это действительно зависит от того, кем могут быть ваши пользователи, что, в свою очередь, зависит от того, что представляет собой служба REST.Если это что-то вроде социальных сетей, то я бы сказал, что более вероятно , что ваши клиенты будут в среде, где они могут использовать .NET 4. Если это то, что вполне может быть использовано финансовыми учреждениями илидругие крупные компании могут не иметь возможности использовать .NET 4, поэтому вам следует рассмотреть более ранние версии.Это подход, который мы использовали для Noda Time , когда мы верим, что библиотека будет полезна в самых разных ситуациях, и мы не можем предсказать требования клиента.
Конечно, если вы знаете всех своих клиентов и знаете, что они все смогут использовать .NET 4, тогда пойдем с этим.
Большие недостатки использования .NET 2.0 заключаются в том, что вы не сможете использоватьLINQ внутри (если вы не используете LINQBridge или что-то подобное, что добавляет другую зависимость для вашей библиотеки), и вы не сможете (чисто) предоставить методы расширения.Если вы можете с пользой предоставить больше возможностей клиенту, если вы используете более позднюю версию, вы можете захотеть предоставить несколько версий библиотеки - но, очевидно, это головная боль при обслуживании.
Еще одно соображениедолжны ли вы предоставлять версию Silverlight - что опять-таки зависит от того, какую услугу вы предоставляете и каких пользователей вы ожидаете.