Существует ряд веских причин для обновления до .NET 3.5. Однако, как отмечали другие, 3.5 в значительной степени (если не полностью) является не чем иным, как расширением до 2.0; Тем не менее, 2.0 предоставляет большое количество функций, которые стоят того, чтобы его перенести. При этом, на мой взгляд, если вы собираетесь сделать ход, кажется глупым переходить на 2.0, а не просто переходить на 3.5.
Только методы расширения чрезвычайно полезны . Я использую их гораздо чаще, чем я думал. Кроме того, многие из новых функций в 3.5 основаны на них. Дженерики значительно упрощают нашу разработку; и, если вы пишете код на C #, автоматические установщики и получатели являются благом. Лямбда-выражения все еще относительно новы для меня, поэтому я не могу с ними разговаривать, но я понимаю, что другие находят их особенно полезными.
WPF представляет совершенно новый способ написания приложений, и я им воспользовался. Это показывает большое обещание; к сожалению, это, кажется, не получает широкого принятия, которое я (лично) думаю, что оно еще заслуживает. Надеюсь, со временем это изменится, но это будет зависеть от того, начнет ли сама Microsoft настаивать на этом более агрессивно.
Что касается самой платформы, я считаю, что улучшена или предоставлена большая функциональность, которая ранее отсутствовала в 1.1; По мере развития Framewok, похоже, движется в направлении, которое требует от нас писать меньше кода для тех задач, которые мы обычно выполняем (таких как службы каталогов, доступ по FTP, именованные каналы и т. д.). Шероховатые края становятся более гладкими.
Итак, вкратце: переход на 3.5 будет означать, что ваши новые приложения могут быть написаны с меньшим количеством кода, а существующие приложения могут быть реорганизованы для использования меньшего количества кода (не то чтобы я рекомендовал делать это исключительно для этой цели). 3.5 предоставляет широкий спектр инструментов для повышения производительности; Мое личное мнение состоит в том, что одни только эти инструменты стоят того, чтобы сделать скачок вперед.
Но, как и любое бизнес-решение, вам необходимо сопоставить все это с состоянием ваших проектов - и любыми потенциальными дефектами, которые могут возникнуть при переносе кодовой базы. На сегодняшний день мой опыт показывает, что мы столкнулись с несколькими препятствиями, но этого оказалось недостаточно, чтобы полностью остановить всю операцию. Тем не менее, при любой миграции всегда существует вероятность того, что код сломается; это должно родиться в уме.