Как решить, что является целью .Net - PullRequest
3 голосов
/ 31 января 2010

Сейчас мы используем VS2003 (цель до .Net 1.1), и мы хотим перейти на VS2008, но мне интересно, какой должна быть новая цель .Net?

  1. Должен ли я оставить целевой объект как .Net 1.1 (очень старый, установлен не на всех компьютерах) или обновить его?

  2. Если я обновлюсь, вернется ли 2.0? или, возможно, обновление до последней версии 3.5 (наши клиенты используют Windows XP, Vista и Windows 7)

  3. Что произойдет, если я настрою свое приложение на 2.0, а у пользователя - 3.5? должен ли пользователь устанавливать .Net 2.0 на .Net 3.5? может ли он работать бок о бок даже при установке старой версии «выше» новой версии? или, может быть, приложение будет работать без ошибок и предупреждений, потому что 3.5 "включает" 2.0?

Спасибо

Атар

. , .

Спасибо всем. Я предполагаю, что я собираюсь нацелиться на 2.0, чтобы покрыть большинство моих клиентов, и если у клиента нет установленного .Net, я попрошу его установить последние версии (3.5 и позже 4)

Можете ли вы просто подтвердить, что .Net 3.5 только что добавил больше сборок в 2.0 и не содержит исправлений ошибок для сборок 2.0?

(уровень владения компьютером моих пользователей не высок, чем меньше установка, тем лучше)

. , , Обновить: Смотри мою проблему - Совместимость с Microsoft .NET

Спасибо, что ответили.

Атар

Ответы [ 5 ]

5 голосов
/ 31 января 2010

Вы не можете нацелиться на 1.1 с VS2008, так что отмените эту опцию. Между 2.0, 3.0 и 3.5 нет никаких реальных отличий, все они используют одну и ту же версию CLR. Версии 3.0 и 3.5 просто добавили больше сборок. Особенно те, которые поддерживают WPF, WCF и Linq.

Если вы не заинтересованы в использовании этих новых функций, тогда таргетинг 2.0 будет работать отлично. И ваша программа будет работать без проблем, если на целевом компьютере установлена ​​какая-либо версия .NET, равная или выше 2.0.

Узнать, что вы можете случайно использовать класс, который доступен только в более поздней версии, достаточно просто, вы просто не можете добавить ссылку на сборку, когда используете Project + Add Reference. Более поздние будут выделены серым цветом в списке. Это также хорошо задокументировано в библиотеке MSDN, версия фреймворка, в которой доступен класс, указана внизу страницы.

Еще один вариант: если у вас еще много клиентов на XP, у которых еще нет установленного .NET, то вы можете рассмотреть возможность проверки «Подмножество клиентских рамок». Это сокращает количество сборок, которые вы можете сослаться на основные, а установка Client Framework занимает 28 МБ.

3 голосов
/ 31 января 2010

Быстрое разъяснение: если вы обновляетесь до VS2008, вы не можете ориентироваться ни на одну из платформ 1.X. VS2008 поддерживает только таргетинг на 2.0, 3.0 и 3.5.

При таргетинге на фреймворк необходимо учитывать влияние на ваших клиентов. Чтобы использовать ваше приложение, у целевого клиента также должна быть установлена ​​соответствующая платформа .Net на его компьютере. Стоимость этого может немного варьироваться в зависимости от сценария. В лучшем случае .Net Framework уже установлен, и поэтому пользователь может просто установить ваше приложение.

  • 1.X: поставляется предварительно установленным на W2K3
  • 2.0: предустановлен в Windows Vista, W2K8 и Win7
  • 2.0SP1: предустановлен на Win7 (возможно, W2k8)
  • 3.5: Win7 (возможно, W2K8)

Мой личный выбор - использовать платформу 2.0, если ваше приложение на самом деле не использует функцию из платформы 3.5 или выше. Это увеличивает вероятность того, что конечный пользователь уже установит .Net Framework на свой компьютер, и, следовательно, снижает стоимость установки вашего приложения.

В последней части, если у клиента установлена ​​более поздняя версия .Net framework, тогда ваше приложение будет работать нормально.

3 голосов
/ 31 января 2010

Я бы выбрал 3.5, большинство установок и пакетов обновления теперь устанавливают его по умолчанию, так что с вами все должно быть в порядке. Если вы нацелены на 2.0, а у пользователя 3.5 ничего не происходит, это прекрасно поддерживается.

2 голосов
/ 31 января 2010

Если вы не обновлялись с VS2003 и собираетесь обновиться сейчас - рассмотрите ожидание менее 6 месяцев, чтобы получить VS2010 вместо этого. Есть несколько преимуществ:

  • Вы все еще можете настроить таргетинг на .NET 2.0 / 3.5, но у вас также будет доступен .NET 4.0, когда вы захотите.
  • Для новых проектов вы можете начать работать с обновлением до 4.0, и вместо того, чтобы безнадежно отставать (поскольку вы, без обид, сейчас ... и будете совсем скоро, если останетесь с VS2008), вы можете быть передний край.
  • Поскольку существует общедоступная бета-версия, вы можете позволить своим разработчикам уже начать привыкать к новой среде, если хотите. Я не юрист, но, насколько я понимаю, нет никаких юридических ограничений для использования беты в коммерческом производстве - за исключением того, что, поскольку это бета, MS не несет никакой ответственности за стабильность и т. Д. Она работает очень хорошо, хотя ...
  • Еще один эффект общедоступной бета-версии заключается в том, что существует множество статей, скриншотов и сообщений в блогах о новых функциях .NET 4 и о том, как их использовать. Большинство новых опубликованных материалов предназначено для VS2010, и вскоре ничего (или очень мало) нового будет написано для аудитории программистов VS2008.
1 голос
/ 01 февраля 2010

.Net 3.5 SP1 устанавливается по умолчанию в Windows 7, в Windows Vista установлено 3.0.

Если вы собираетесь конвертировать приложение в WPF, выберите цель 3.5.

Если вы собираетесь использовать выражения LINQ или Lambda, используйте не менее 3,0

2.0 уже должен быть на всех машинах. У большинства пользователей должно быть 3,5, так как оно обновляется Windows.

Я бы остановился на версии 4.0 (когда она выйдет), но если это необходимо, целевой клиент 4.0, поскольку он всего 30 МБ или около того.

Потребность в фреймворке, который пользователь не установил, раздражает его. Убедитесь, что ваше решение для развертывания обнаружит .Net, и если у него его нет, установите 3.5 sp1 на машину (даже если вы настроили 2.0, а у них нет 2.0).

Переход с 1.1 на 2.0 - это большой шаг, поскольку вам нужно будет переписать или изменить несколько вещей в коде, в основном из-за устаревших методов и тому подобного.

После использования VS 2010 в Beta 2 появилась моя основная IDE, я не могу вернуться к использованию 2008. 2010 год - это большое улучшение, так же как и 2003> 2008.

Для вашей текущей ситуации, цель 2.0, но позже цель 3.0 или 3.5 и использовать лямбда-выражения (resharper может помочь оптимизировать ваш код!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...