Вы должны войти, чтобы создавать сообщения и темы.

Запутался с Net-фреймворками

Доброго времени суток. Только сегодня, спустя месяц писанины узнал что пишу на C# версии 4, хотя казалось бы, ставил Net Framework 4.8. Думал там по умолчанию свежие интерпретаторы. Хотелось бы посвежее, в идеале 12 версии, а не такой старый. На форумах прочитал что NetFramework уже давно не поддерживается, а за место него теперь платформа .Net и от 6ой версии собраны новые интерпретаторы. При установке .Net я всё равно не могу создать создать приложение с WinForm с новой версией C#, так как создаётся на основе NetFramework 4.8. И даже не нахожу инфы, поддерживается ли WinForm новым фреймворком .Net. На форумах так же нашёл инфу о неком фреймворке Roslyn, который ставится отдельно от Visual Studio, что проблему с WinForm не решает, ну или я не могу найти инфу в рунете. 

Посоветуйте / скажите / расскажите мне как сделать так, чтобы писать в Visual Studio приложения WinForm на свежем C#. Хочу пользоваться последними синтаксическими возможностями. 

Приветствую.
Что-то много букв, а мало смысла. 
Что вам мешает делать формы? Их можно как под Net Framework, так и под .Net делать, просто при создании проекта выбирайте нужный. Только в отличии от .Net  приложения Net Framework более компактные и будут работать на любой современной Windows, а для . Net нужно либо ставить отдельно рантаймы, либо тягать весь фреймворк вместе с приложением.

Roslyn это не фреймворк, а компилятор. Вообще не забивайте голову.

Цитата: Adler от 08.11.2024, 06:51

Приветствую.
Что-то много букв, а мало смысла. 
Что вам мешает делать формы? Их можно как под Net Framework, так и под .Net делать, просто при создании проекта выбирайте нужный. Только в отличии от .Net  приложения Net Framework более компактные и будут работать на любой современной Windows, а для . Net нужно либо ставить отдельно рантаймы, либо тягать весь фреймворк вместе с приложением.

Roslyn это не фреймворк, а компилятор. Вообще не забивайте голову.

То есть писать на свежих версиях C# с новыми возможностями это бессмысленно?

А что вы хотите от "свежей" версии?
Net Framework поддерживает 8 версию C#, на .Net все последующие. Хотите самую новую версию - используйте .NET 8 поддерживающую C# 12.
На самом деле различия там не такие уже и большие. Для начального изучения вообще не принципиально. Имхо даже лучше начать с более ранних версий, а к новым "фичам" придти в процессе изучения.

Цитата: Adler от 08.11.2024, 08:00

А что вы хотите от "свежей" версии?
Net Framework поддерживает 8 версию C#, на .Net все последующие. Хотите самую новую версию - используйте .NET 8 поддерживающую C# 12.
На самом деле различия там не такие уже и большие. Для начального изучения вообще не принципиально. Имхо даже лучше начать с более ранних версий, а к новым "фичам" придти в процессе изучения.

Изучая python я даже не смотрел на старый метод написания динамический данных в строке, а сразу использовал f-строки, которые подобны написанию в С#. ("Здравствуйте, меня зовут {name}. Мне {age} лет"). Вопрос- зачем мне использовать старые, неудобные методы, когда есть новые и более эффективные и закреплять "старое и отмирающее" своей голове? Не легче ли сразу использовать новые возможности языка. Может показаться что я пытаюсь кого-то задеть, но нет. Мне действительно важна эффективность в разработке. С C# знаком пока что базово и пока что не ознакомлен со всеми тонкостями разных версий C#, но есть стойкое ощущение что C# не уникален в этом плане и в нём как в остальных ЯП с каждой новой версией закладываются более новые и улучшенные практики написания кода, включая апгрейд начинки. Могу быть конечно и не прав по C#. Просто не могу увидеть картины в целом. Большой процент разработчиков пишет на NetFramework и забивают на .Net или "кто так, кто сяк"?  Как то очень мало в интернете информации о текущем положении фреймворков для C#. Совсем не очевидно как лучше.

Цитата: Denis от 08.11.2024, 09:11

Просто не могу увидеть картины в целом. Большой процент разработчиков пишет на NetFramework и забивают на .Net или "кто так, кто сяк"?  Как то очень мало в интернете информации о текущем положении фреймворков для C#. Совсем не очевидно как лучше.

Все просто, Net Framework есть в Windows с коробки и для него ничего не нужно до устанавливать, НО, он работает только в Windows. .Net больше про кроссплатформенность и что бы он работал, нужно либо ставить на каждую машину .Net Runtime, либо таскать его вместе с приложением, что заметно увеличивает его размер. Windows Forms есть и там и там, но работают они соответственно только в Windows. Если надо формошлепить в Linux, например, есть различные MAUI, Avalonia и т.д., но это не про вытягивание кнопочек на форму мышкой.
Если я что-то делаю для Windows и есть вероятность, что этим будет кто-то еще пользоваться кроме меня, то отдаю предпочтение Net Framework, а если нужно что-то консольное наваять для Linux, то там без вариантов. 

Понял. Значит юзаю последнюю версию C# что доступна для Net Framework если за пределами одного компа для удобства. Остальное по ситуации. 

Adler, благодарю за разъяснение.