26.09.2018 Long Time Support (или как?) версии .Net
 
Вот, вы можете сделать прогу под .Net и вам хватит предыдущей версии. Но вы, чтобы быть в ногу со временем — скомпилите под самую последнюю — 4.7.2 А ведь у юзверя ее может не оказаться на компьютере и ему придется скачивать, тратить дрогоценное время.

По этому желательно выделить некие LTS-версии, чтобы не гнаться за новым.

Объективной LTS является .Net 4.0, ибо она последняя, которая работает на Windows Server 2003. Да, их мало кто используют, но некоторые сценарии все же могут быть (могут держать старый сервер за NAT-ом на Win 2003 потому что он тупо работает, подключиться извне к нему нельзя, по этому вопрос безопасности остро не стоит). Но это отдельные случаи.

Далее. Можно учитывать предустановленные в OC, но тут глухо, ибо даже в Win 7 изначально предустановлена 3.5, а остальные ставят с обновлениями.

В Windows 8 предустановлена 4.5 — можно назвать ключевой (в Windows 8.1 — 4.5.1).

В Windows 10 — предустановлена 4.6.

Посколькуо Windows 8/8.1 используют мало а .Net 3.5 — точно не вариант (т.е. пользователи Windows 7 по любому должны поставить/обновить), то LTS версиями можно считать эти две:

4.0 (за то что работает на Windows Server 2003)
4.6 (за то что установлена на Windows 10)

Тем более что в новых версиях ничего особенно ценного не добавили.

Итак, если хотите поддерживать старых пользователей/особые случаи — то скомпилить под .Net 4.0. Для остальных случаев скомпилить под .Net 4.6. Так или нет?