Должен ли я поддерживать.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. Это только увеличивает сложность разработки и время, необходимое для поддержки и обслуживания.