Должен ли я поддерживать.NET 2.0?

В настоящее время я работаю над проектом с открытым исходным кодом, и я изначально написал свой код для.NET 3.5 Framework. Я использую небольшое количество Linq, но ничего существенного на данный момент. Я не вижу особой необходимости в каких-либо более продвинутых функциях для моего проекта (в настоящее время)

Пользователь запросил поддержку.NET 2.0, и ему не потребовалось бы больших усилий для использования хака ExtensionAttribute в 2008/2010 для поддержки методов расширения и переопределения пары методов Linq, которые я использую в своем коде (полдюжины различных методы в настоящее время) для поддержки.NET 2.0. Кроме того, сборки, от которых я зависим, в настоящее время доступны в.NET 2.0 (может измениться в будущем???).

Любопытно, что будет делать сообщество? Должен ли я поддерживать.NET 2.0, придерживаться версии 3.5 и оттолкнуть некоторых пользователей? Моя интуиция говорит мне, что я должен внести необходимые изменения, но я хотел посмотреть, что думают все остальные? Будете ли вы поддерживать единую базу кода в.NET 2.0 или каким-либо образом управлять версиями.NET 2.0 и 3.5?

Заранее спасибо!

5 ответов

Решение

Если вы хотите использовать Linq в.NET 2.0 практически без усилий, загрузите LINQBridge, чтобы вам не пришлось изобретать велосипед. Лучше всего, это с открытым исходным кодом и бесплатно.

Платежный тариф * отработанные часы = стоимость
цена * клиенты получили = доход

если (стоимость>= доход) не конвертировать.
еще конвертировать.

Я бы вообще рекомендовал клиенту (если он только один) обновить до 3.5 фреймворка. Им не нужно будет менять какой-либо из своих существующих кодов (или, так мало, это должно быть тривиально), и это относительно легкая загрузка.

Это полностью зависит от вас. Насколько важно для вас привлечь этого пользователя? Сколько других ваших пользователей используют.NET 2 против 3.5 (или 4!!)?

По сути, вы единственный человек, который может решить, стоит ли усилий по поддержке более старых технологий потенциальным пользователям, которых вы бы привлекли.

Помните, однако - если это проект с открытым исходным кодом, пользователь всегда может изменить ваш код, чтобы работать также на.NET 2...


При этом, если бы это был мой проект, я бы лично использовал фреймворк, который мне нравится, и который мне нравится. Я чувствую, что, особенно для продукта с открытым исходным кодом (некоммерческого), использование новых технологий сделает меня более эффективным, и я получу больше удовольствия от разработки. Это, IMO, сделает проект более успешным, так как я буду более рад работать над ним и буду тратить больше времени на добавление функциональности вместо того, чтобы обходить требования.NET 2...

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

Что этот один пользователь представляет с точки зрения вашей клиентской базы? Очевидно, что если это ваш единственный клиент, то вам нужно либо удовлетворить их потребности, либо убедить их в необходимости обновить их установку.NET. С другой стороны, если этот клиент составляет небольшой процент от вашей общей клиентской базы, я бы остановился на версии.NET Framework, наиболее подходящей для вашего проекта.

Ни при каких обстоятельствах я не буду создавать версии вашего продукта, совместимые с.NET 2.0 и.NET 3.5. Это только увеличивает сложность разработки и время, необходимое для поддержки и обслуживания.

Другие вопросы по тегам