Microsoft net framework 4 что это за программа и нужна ли она: Что такое .NET Framework и зачем он нужен
Содержание
Молодые не идут в .NET. Правда или нет? / Хабр
Как-то раз наши разработчики тёрли за что-то важное у кофемашины и между делом стебались, что им скоро придётся уйти из .NET, потому что он вымирает. Шутки шутками, но мысль застряла в голове и не отпускала.
Чтобы прояснить ситуацию, мы заглянули в DotNet-сообщество, сходили к ребятам из Microsoft, Райффайзенбанка, Контура, CUSTIS и задали несколько вопросов. Вы тоже возьмите чашечку кофе, устройтесь поудобнее, поразмышляйте о будущем .NET и поделитесь своими мыслями в комментариях.
Какие позиции занимает .NET сегодня
Георгий Полевой
SRE в Dodo Engineering, 21 год в разработке
@georgepolevoy
4 февраля 2014 года Сатья Наделла был назначен главой корпорации Microsoft, заменив Стива Балмера. Это означает, что с Microsoft снято проклятие привязки к Windows. Наделла начал движение в сторону open source и кросс-платформенности, поэтому сейчас .NET Framework не имеет недостатков по отношению к Java, и как никогда до этого перспективен.
Роман Неволин
DevRel manager в Контур, 9 лет в .NET
@nevoroman
.NET сейчас — крепкий середнячок по всему. Не самый сложный или простой, не самые высокие или низкие зарплаты, не самый популярный, но C# всё ещё в топ-5.
Это хороший фреймворк общего назначения, с прилично развивающимся языком и достойной производительностью. Microsoft в последние годы развивает платформу в очень правильном направлении — open source, полноценная кросс-платформенность и множество технических улучшений. Прямо сейчас ту же нишу занимает только Java, но в этой борьбе всё без изменений уже много лет.
Источник: https://www.jetbrains.com/ru-ru/lp/devecosystem-2021/
Юрий Орлов
Техлид в Райффайзенбанке, куратор MskDotNet, 12 лет в .NET
FB Telegram
Это одна из самых популярных платформ, где разработчики высоко востребованы. Множество компаний ищут опытных специалистов и новичков. Здесь я говорю как о крупных банках, так и о стартапах.
Плюс у .NET довольно сильное сообщество в России. Многие компании и независимые сообщества проводят митапы на площадках крупных российских городов. Ребята-профессионалы из российских сообществ активно помогают новичкам осваивать новые рубежи.
Хорош ли .NET для старта в IT
Евгений Пешков
JetBrains, 5 лет в .NEТ
@epeshk
Сейчас популярны курсы, обещающие трудоустройство программистом на %язык_нейм% за N месяцев. Я больше склоняюсь к классическому подходу и считаю, что для начинающих куда важнее знания, не зависящие от конкретного стека технологий. Об архитектуре компьютера, операционных системах, сетях, алгоритмах, интеграции с внешними сервисами, подходах к разработке ПО, организации кода, тестировании, отладке. Всё это нужно изучать сразу на различных современных платформах и языках, будь то .NET(C#)/JVM(Java, Kotlin), Python, С++, JS, Go. И лишь после этого выбирать, в какой теме развиваться дальше. Это уже зависит от личных предпочтений и рынка в регионе. Научиться базовым концепциям и встроить их в своё мышление гораздо сложнее, чем освоить ещё одну платформу, фреймворк или язык программирования. Нужно уметь смотреть на код сквозь слои абстракции языка и платформы, тогда не придётся учиться новой технологии с нуля.
В целом .NET и JVM, на мой взгляд, оптимальны для новичка-бэкендера как платформы со статически типизированными языками, готовыми библиотеками и фреймворками, большим сообществом, богатым тулингом и имеющие концептуальное сходство, позволяющее достаточно легко перескочить с одного стека на другой на начальных этапах. Начинающему совершенно точно не следует выбирать плохой курс по Java, если есть хороший по C#, руководствуясь тем, что на Java вакансий на K% больше. Как и плохой курс по C#, если есть хороший по Java, Python или другой технологии.
Павел Притчин
СТО в Dodo Engineering, 7 лет в .NEТ
@pritchin
Для изучения С# не очень сложен. Посложнее, чем Python, но попроще Go, как по мне. Для новичка многое может простить. И есть возможность подучиться в крупной компании, где берут джунов и нет супер критического продакшена. Такой работы много. Платформа развивается, сейчас перешла на кросс-платформенные рельсы полностью.
Марк Быстров
Тимлид команды Монетизация в Циан, 9 лет в .NET
Наверное, моё мнение в этом вопросе слишком предвзято, ведь я «запрыгнул» именно через .NET. Потом был коммерческий опыт и в Python, и в NodeJS на разных проектах, но .NET мне всегда казался удобным для старта: устоявшаяся платформа с подробной документацией и решениями, работающими «из коробки», что в том же Python тогда решалось разными сторонними библиотеками и костылями.
C# на 4 месте по поиску тьюториалов в Google. Источник: https://pypl.github.io/PYPL.html
Егор Богатов
Microsoft, 15 лет в .NET
Twitter
Если говорить о разработке игр, то C#/.NET — один из двух возможных вариантов (имею в виду UE Blueprints). В других областях я бы судил исключительно по количеству вакансий entry-уровня. Конечно, сложно тягаться с той же фронтенд-разработкой на JavaScript или TypeScript.
Роман Букин
.NET-разработчик в Dodo Engineering, 9 лет в .NET
GitHub
Именно для входа он хорош. Есть ASP.NET Core для веба, Unity для игр, WinForms, WPF, MAUI, Avalonia для десктопа (и спорный, но достойный упоминания Blazor в Electron).
Visual Studio — крайне мощная, но довольно простая в освоении IDE, где Integrated — не пустой звук, к тому же ещё и с Community-лицензией, которая позволяет не только обучаться, но и вести коммерческую разработку в маленькой команде. Отдельно стоит выделить MSBuild — пожалуй, лучшая система сборки, которая просто работает и в подавляющем большинстве случаев не доставляет головной боли.
В рейтинге популярных фреймворков ASP.NET и ASP.NET Core на 4 и 6 месте.
Источник: https://insights.stackoverflow.com/survey/2020#technology-web-frameworks-professional-developers2
Но как по мне, молодые специалисты идут в . NET неохотно. Сказывается репутация Microsoft. В головах многих людей это по-прежнему кровавый энтерпрайз, который гвоздями прибит к Windows. Будем честны, много где ещё осталось легаси, из-за которого это утверждение какое-то время будет не пустым звуком (даже у нас оно есть). Есть тренд на улучшение, но пройдёт, наверное, десяток лет, прежде чем эти стереотипы вымрут как явление в сообществе разработчиков.
У .NET есть и другая проблема. Python подмял под себя машинное обучение, на Go написан Kubernetes, а JavaScript слишком долго был единственным языком для фронтенд-разработки. Каждая из этих областей буквально на хайпе. А что .NET? С какой областью он ассоциируется у большинства разработчиков в первую очередь? Десктопные приложения под Windows. Не самая хайповая сфера, мягко говоря.
Вячеслав Залыгин
Стажёр в Dodo Engineering и наш самый молодой .NET-разработчик— ему только 17
Программированием именно на С# я занимаюсь уже 4 года. Последний год изучал сетевое взаимодействие, саму сеть, ASP.NET Core, немного HTML, CSS, JavaScript. В будущем планирую пройти курс по React, чтобы немного прокачать знания про фронтенду, но вообще погружаюсь в тот стек и те инструменты, что используются в Dodo.
Мне кажется, что Python более привлекателен для старта за счёт простоты синтаксиса. Но объективно я не могу судить, т.к. не знаю, что нужно изучить в нём, чтобы начать работать. .NET мне нравится, он мне роднее.
Есть ли кризис и нехватка .NET-разработчиков
30 соискателей на одну вакансию. Это точно кризис?
Юлия Цисык
CUSTIS, лидер MskDotNet, 9 лет в .NET
Telegram
Кризис есть. Но связан он не с тем, что поток джунов стал меньше, а скорее наоборот, — с тем, что он стал больше. Сейчас многие компании выбирают C#, потому что, на первый взгляд, это простой язык, на котором легко писать, и набирают соответствующих «специалистов». А потом эти люди, выходя на рынок, портят репутацию языка и ухудшают мнение о C#-разработчиках в целом. Причина понятна: фреймворк, IDE, сторонние инструменты (такие как R#) много думают вместо разработчика, и не все люди, которые их используют, задумываются «что же там внутри». Такое поверхностное знание получается.
Юрий Орлов
Техлид в Райффайзенбанке, куратор MskDotNet, 12 лет в .NET
FB Telegram
Сегодня я вижу одинаковый поступательный рост спроса на специалистов во всех технологиях. В особенности это касается разработчиков уровня мидл. Они сейчас наиболее востребованы, причем независимо от стека. Джунов и сеньоров ищут реже, но и для них работы хватает.
Что касается отношения к технологии самих джунов, то оно остаётся также стабильным. Никто резко не бросается переучиваться на другие технологии.
Роман Неволин
DevRel manager в Контур, 9 лет в .NET
@nevoroman
Мне кажется, что количество разработчиков вполне соответствует количеству рабочих мест. По всем показателям популярность . NET не особо падает, новички всё также приходят, в основном из университетов (там .NET как-то исторически популярен). Нехватка кадров ощущается постоянно, но такая же нехватка кадров ощущается и в Java, например.
Марк Быстров
Тимлид команды Монетизация в Циан, 9 лет в .NET
Уже больше года нахожусь в активном поиске дотнетчиков в свою команду и, на мой взгляд, точно есть кризис уверенных мидлов и сеньоров. Специалистов на рынке мало, а те, кто есть, часто не стараются развиваться в ногу с платформой и застряли ещё в .NET Framework 3.5, или избалованы ленивой атмосферой и не требовательностью к качеству кода в банках или крупных аутсорс-компаниях.
Что ждёт .NET в будущем
Роман Букин
.NET-разработчик в Dodo Engineering, 9 лет в .NET
GitHub
Будущее определённо есть. Microsoft наняли Гвидо и теперь он пишет на F# За .NET стоит Azure, а за Azure — очень много денег. В перспективе 5-10 лет вряд ли что-то будет на замену. .NET — это технология Microsoft, в которую она очень много и долго инвестирует. Планируется постепенно закопать .NET Framework (последняя версия — 4.8 и новых не будет) и развивать .NET (ранее имевший приставку Core).
Серьёзную ставку делают на Blazor. Сыграет она или нет — покажет время. Я же достаю попкорн и наблюдаю за происходящим 🙂
Юрий Орлов
Техлид в Райффайзенбанке, куратор MskDotNet, 12 лет в .NET
FB Telegram
Считаю, что .NET будет развиваться и захватывать всё больше областей деятельности. Ещё вчера он ассоциировался с Windows Forms. Сегодня это веб, игры, облачная разработка, кросс-платформенность, IoT, ML и многое другое. Безусловно, это не может не сказаться на конкурирующих платформах JVM-стека и Python. Думаю, все эти технологии будут развиваться, перенимать опыт друг у друга (как это видно сейчас в тех же C#, Java, Kotlin), завоёвывать всё больше умов и сфер деятельности. Процентное соотношение захваченного той или иной технологией рынка будет меняться, но резких изменений, как мне видится, не будет. Здесь важное влияние также оказывает опыт нынешнего поколения IT. Нередко бывает так, что при создании нового проекта в том же энтерпрайзе технология выбирается исходя из опыта организатора команды (архитектора, лида, менеджера). Это способствует пропорциональному образованию рабочих мест и сохранению спроса на специалистов.
Эти ответы мы бы не услышали, если бы всё, что происходит у кофемашины, оставалось у кофемашины. Да не переведутся молодые специалисты в .NET, ведь он живее всех живых. Согласны?
Что ещё посмотреть по теме:
Будущее .NET — обсуждение на 50-й встрече сообщества MskDotNet
Наши вакансии для .NET-разработчиков.
Как установить Microsoft .NET Framework 4.0 на Windows 7? и что это такое?
- 8поделились
- 3Facebook
- 5Twitter
- 0VKontakte
- 0Odnoklassniki
Пользуясь популярным программным обеспечением, большинство пользователей не задумывается, какие сложные процессы протекают при этом в операционной системе. Почему и как работает программа, что за ресурсы она использует, из-за чего появляются ошибки и тому подобное. По факту лишь некоторые приложения способны запускаться автономно, независимо от наличия в системе тех или иных программных компонентов. Львиная же доля ПО требует подходящей конфигурации. Наглядным тому примером служит нехватка NET Framework при установке и запуске определенных приложений.
NET Framework – для чего он нужен и можно ли удалить
Мы уже выяснили, что многие программы не будут нормально работать без кое-каких дополнительных модулей, таких как NET Framework. Пользователи Winfows 7/10, наверняка, не раз встречались с этим компонентом, однако вряд ли задумывались о его роли и выполняемых функциях. Спешим восполнить этот пробел.
Итак, что такое Microsoft .NET Framework, для чего он нужен и можно ли без него обойтись? Если говорить простым языком, то NET Framework представляет собой набор DLL-библиотек или универсальный программный код, используемый разными программами. Правда, такое определение вряд ли прольет достаточно света на тему предмета, поэтому мы немного углубимся в историю.
Дело в том, что изначально система Windows, как платформа, была ориентирована на язык программирования С, на котором должны были разрабатываться предназначенные для нее приложения. Однако этот язык оказался не слишком удобным и к тому же мало подходящим для создания сложных конструкций. Появление ОПП и С++ существенно упростило разработку программного обеспечения, но по мере появление новых операционных систем и моделей процессоров программисты всё чаще стали сталкиваться с проблемами несовместимости.
Нужна была некая общая платформа, позволявшая работать самым разным приложениям в разных версиях и редакциях Windows. На тот момент в системе уже имелся набор DLL-библиотек, но они опять же поддерживали только приложения, написанные на языке С. Имелись и более серьезные проблемы, которые предстояло решить Microsoft, например, неуправляемый код, препятствующий разграничению прав для запускаемых программ.
Решением стала интеграция виртуальной машины Java, разработанной компанией Sun и служивший как бы прослойкой между Windows, сторонними приложениями и аппаратной частью компьютера. Однако сотрудничество Microsoft и Sun оказалось недолгим, и в 2001 году компания Microsoft представила собственную универсальную платформу для разработки приложений, получившую название .NET Framework и поставившую точку в вопросе совместимости.
Будучи универсальным, модуль NET Framework позволяет запускать поддерживающие технологию NET программы не только на Windows, но и в других системах, причем программа может быть разработана на любом языке программирования, включая те языки, которая Windows не «понимает». Конечно, для работы такого ПО требуются определенные условия, но сам факт, что такое возможно, является большим плюсом платформы NET Framework.
На вопрос, что это за программа NET Framework и нужна ли она, мы, надо полагать, ответили. Можно ли ее удалить, скажем, ради экономии места на жестком диске? Да, за исключением той версии, которая поставляется вместе с Windows. Делать это, однако, не рекомендуется без особой нужды, так как некоторые сторонние программы, зависящие от NET Framework, могут перестать запускаться.
Разработка[ | ]
Разработка платформы началась в 1999 году[3]. Официально о разработке новой технологии было объявлено 13 января 2000 года, в день, когда Билл Гейтс официально объявил о передаче поста главы Microsoft Стиву Балмеру. В этот день руководство корпорации объявило о новой стратегии компании, получившей название Next Generation Windows Services (NGWS, «новое поколение служб Windows»). Новая стратегия должна была объединить в единый набор существующие и будущие разработки Microsoft для предоставления возможности пользователям работать со Всемирной паутиной с беспроводных устройств, обладающих доступом в Интернет, как со стационарных компьютеров[4].
Цели и задачи[ | ]
Во время проходившей в тот день пресс-конференции Балмер заявил, что, несмотря на огромные возможности домашних компьютеров, корпорация считает важным обеспечение гарантированной работы служб нового поколения и на устройствах, отличных от ПК. Что касается Гейтса, то аналитик компании Patricia Seybold Group Энн Томас Мейнс, проанализировав его слова, заявила о том, что компании будет полезен отход от ориентации исключительно на стационарные компьютеры и переход к разработке под мобильные устройства. По её оценке, Гейтс провозгласил курс на переход к новой эре работы с компьютером, которая не будет жёстко привязана к Windows[4].
Ввиду небольшой мощности источников питания мобильных устройств хранение и передача приложений должна осуществляться серверами, тогда как на тот момент практически вся пользовательская информация и ПО хранились на стационарных компьютерах локально. Тогда идея перехода к «сервероцентрической» модели имела крепкую поддержку среди руководителей крупнейших IT-компаний. Так, например, Скотт МакНили, глава Sun Microsystems, объявил о приобретении компании офисного ПО, конкурировавшего с Microsoft Office, для перехода к сервер-клиентскому ПО[4].
У Microsoft на тот момент было множество причин перехода к новой стратегии. Компания доминировала на рынке операционных систем и веб-браузеров, обладала множеством наработок в области ПО для Интернета, включая порталы MSN и WebTV, а также имела долю в компаниях, занимавшихся предоставлением ПО в прокат через Интернет[4]. Кроме того, как позднее вспоминал Андерс Хейлсберг, у корпорации имелось множество различных (и зачастую несовместимых между собой) сред и технологий программирования, поскольку разработка инструментов для программистов была языкоориентированной, то есть для Visual Basic существовал свой набор приложений, а для C++ — свой. Поэтому одной из целей разработки новой платформы было объединение всех наиболее удачных наработок в рамках единой платформы и их унификация. Кроме того, ставилась задача следования всем актуальным тенденциям в области программирования на тот момент. Так, например, новая платформа должна была напрямую поддерживать объектно-ориентированность, безопасность типов, сборку мусора и структурную обработку исключений. Кроме того, корпорации необходимо было предоставить свой ответ набиравшей популярность платформе Java от Sun Microsystems[5].
Согласно опубликованным на тот момент планам, в них входила разработка новой версии операционной системы, а также новой версии среды разработки для программистов, которая была бы предназначена для разработки веб-ориентированных приложений. Кроме того, переведён на новую платформу должен был быть и Microsoft Office. Пол Моритц, вице-президент Microsoft, в качестве одной из будущих служб новой стратегии привёл в пример службу Passport, представлявшую собой электронный бумажник, позволяющий пользователям, зарегистрировавшись однажды, совершать онлайн-покупки без необходимости ввода на различных сайтах номеров кредитных карт и персональных данных. Тогда же, на конференции, Балмер привёл пример реализации новой стратегии, которая позволит пациентам решать множество их проблем через Интернет, начиная с чтения своей медицинской карты и заканчивая оплатой счетов от врачей за медицинские услуги[4].
По словам Моритца, основой для новой стратегии компании послужила разработка Windows DNA 2000, представленная в сентябре 1999 года. Windows DNA 2000 объединила в себе новую версию СУБД SQL Server и новые программные инструменты для облегчения разработки веб-приложений[4].
Концепция[ | ]
В феврале 2000 года Стив Балмер, выступая на конференции VBITS 2000 в Сан-Франциско, рассказал о новой версии Visual Basic и Visual C++, являвшихся до той поры краеугольными камнями Visual Studio. Поскольку график выхода версий Visual Studio к тому моменту был заметно нарушен (Visual Studio 6.0 вышла в сентябре 1998 года, а до этого выпуски входящих в её состав инструментов происходили ежегодно), то информация о нововведениях вызывала изрядный интерес[6] (недоступная ссылка с 02-12-2017 [1179 дней]).
Тогда же Балмер и представил концепцию стратегии NGWS (рабочее название которой Балмер счёл весьма ужасным и пообещал сменить его к моменту выпуска) в виде некоей программной платформы, которая позволит пользователям Windows получать доступ к множеству веб-служб. Для этого Microsoft рассчитывала значительно изменить Windows-платформу. Первым шагом к новой версии платформы стала Windows 2000, которую Балмер назвал основой «пользовательского знакомства с Интернетом». Windows 2000 являлась одной из частей технологии Windows Distributed interNet Applications (DNA) 2000, в рамках которой была представлена последняя на тот момент схема трёхуровневой модели программирования, впервые представленная на Windows NT 4.0[6].
На тот момент данная схема состояла из клиентской части (Windows- или веб-приложение), среднего уровня, базировавшегося на компонентах COM+, и базы данных (как правило, SQL Server). NGWS должна была сменить путь разработки Windows DNA на исключительное использование XML как стандарта обмена данными. XML был выбран потому, что являлся развитием языка разметки HTML, ставшего основным языком разметки во Всемирной паутине, а кроме того, он предоставлял удобный способ описания данных. В модели NGWS каждая часть трёхзвенной структуры (клиентское приложение, промежуточный слой и база данных) должна была взаимодействовать с остальными при помощи XML-пакетов. Для упрощения разработки а с использованием XML предполагалось, что новая версия Visual Studio будет генерировать XML-, освобождая разработчиков от необходимости ручного написания XML-а[6].
Так, например, планировалось, что разработчики смогут писать веб-сайт для электронной коммерции целиком на новой версии Visual Basic, а благодаря тому, что обмен информацией будет происходить при помощи XML, разработчики смогут создавать клиентские приложения, функционирующие на Linux, Solaris и Mac OS. То есть для того, чтобы приложение или операционная система могли взаимодействовать друг с другом, нужна была лишь поддержка стандарта с их стороны[6].
Для демонстрации своего замысла Microsoft запустила веб-сайт Passport, зайдя на который, пользователь мог бесплатно завести себе электронный кошелёк (eWallet), упрощавший процесс совершения покупок в интернет-магазинах[6].
Смена названия[ | ]
22 июня 2000 года на проходившем в Редмонде Forum 2000 Билл Гейтс заявил о переименовании платформы в Microsoft. Net, объявив при этом, что «стратегия корпорации целиком и полностью будет определяться платформой .Net», а все продукты Microsoft со временем будут переписаны для поддержки этой платформы. Также, по его словам, в течение ближайших двух лет Microsoft планировала выпуск новой версии своей ОС (которую изначально назвали Windows.Net, позже её реализовали как Microsoft Singularity) и комплекта средств разработки, который должен был называться Visual Studio.Net. Помимо этого, изменения должны были затронуть и серверные приложения — Microsoft SQL Server, Exchange, BizTalk, а офисный пакет Microsoft Office должен был быть преобразован в Office.Net[7].
К выступлению Гейтса на июньском Forum 2000 было приурочено и опубликование документа под названием Microsoft .NET: Realizing the Next Generation Internet (англ. Microsoft .NET: Создавая Интернет следующего поколения) на официальном сайте Microsoft. В нём приводился общий обзор новой платформы, а само появление новой платформы описывалось как некая «революция». В этом документе впервые было приведено описание (хотя и краткое) технической реализации платформы. Так, разработчикам предлагалось вместо ручного набора большой массы а собирать свои приложения из готовых блоков, что должно было ускорить разработку ПО. К таким «строительным блокам» относились, в частности, следующие модули:
- Identity («Личность») — технология, объединяющая Windows-аутентификацию и Microsoft Passport, созданная для обеспечения различных уровней безопасности, начиная от паролей и электронных кошельков и заканчивая смарт-картами и устройствами биометрической идентификации[8].
Презентация предварительной версии .NET[ | ]
11 июля 2000 года на PDC во Флориде состоялась презентация предварительной версии .NET Framework, которая была представлена как «часть .NET Platform»[9].
Выпуск первых версий[ | ]
12 ноября 2000 года Microsoft опубликовала на своём сайте .NET Framework SDK Beta 1, содержащий всё необходимое для первых опытов с новой платформой. Однако из-за «сырости» программы компания рекомендовала ставить её только на компьютеры, предназначенные исключительно для тестов. Данный SDK мог работать лишь в Windows 2000, Windows NT 4.0 (содержащий NTOP для поддержки ASP.NET), Windows 98 и Windows ME, причём стабильная работа с незадолго до этого вышедшим SQL Server 2000 вовсе не гарантировалась[10]. Данная версия содержала огромное количество ошибок, начиная с проблем при установке и заканчивая неполной поддержкой собственных пространств имён в зависимости от версии Windows[11].
Как узнать, какая версия NET Framework установлена
Теперь переходим к следующему не менее важному вопросу. В требованиях к программному обеспечению нередко указывается, что программа нуждается в такой-то версии фреймворка. В связи с этим у пользователя может возникнуть необходимость узнать, какой NET Framework установлен в его Windows 7/10. Сделать это нетрудно – существует несколько способов выяснить, какая версия компонента имеется в системе.
С помощью Проводника и командной строки
Все пакеты NET Framework устанавливаются в каталоги C:/Windows/Microsoft.NET/Framework и /Framework64 (в 64-разрядных ОС). Каждой версии соответствует отдельная директория, название которой начинается на V (версия), например, v3.0, v3.5 и так далее. Соответственно, определить редакцию компонента не составит труда, если перейти в Проводнике по указанному адресу и посмотреть названия папок.
Как вариант, содержимое каталогов можно вывести в командной строке, выполнив команду dir %WINDIR%/Microsoft.Net/Framework/v* /O:-N /B. По итогам запроса в консоли будут показаны все установленные версии фреймворка за исключением версии 4.5, находящейся в папке v4.0.ХХХХ.
Через редактор реестра
Еще одна методика предполагает использование реестра. Запустив командой regedit редактор реестра, разверните в левой колонке ветку HKLM/SOFTWARE/Microsoft/NET Framework Setup/NDP. В последнем подразделе вы увидите папки, имена которых будут соответствовать имеющимся в Windows версиям NET Framework.
Чтобы определить, установлена ли в системе версия NET Framework 4.5 и выше, зайдите в расположение v4/Full и обратите внимание на параметры Install и Version. Значение 1 для первого параметра будет означать, что компонент установлен и активен, значение второго параметра содержит полный номер версии компонента. Это же касается и других редакций фреймворка. Отсутствие подкаталога Full укажет на то, что компонент NET Framework 4.5 или более поздней версии не установлен.
С помощью сторонних утилит
Тем, кто не желает утруждать себя копанием в реестре, рекомендуем воспользоваться сторонними инструментами. Скачайте с сайта разработчика www.asoft.be/prod_netver.html утилиту «ASoft .NET Version Detector» и запустите. Утилита выведет список установленных версий фреймворка в нижней части окна в поле с голубым фоном. Также тулза покажет обновления компонента.
Версии[ | ]
Основная статья: Список версий .NET Framework
Microsoft начала разрабатывать .NET Framework в конце 1990-х под именем «Next Generation Windows Services» (NGWS). В 2000 году была выпущена первая бета-версия .NET 1.0.
Версия | CLR | Номер версии | Дата выхода | Visual Studio | По умолчанию в Windows | Заменяет |
1.0 | 1.0 | 1.0.3705.0 | 1 мая 2002 года | Visual Studio .NET | Работает на Windows 98, Windows 98 SE, Windows ME, Windows NT 4.0 SP6, Windows 2000 и Windows XP. .NET Framework 1.0 несовместим с Windows 95. | н/д |
1.1 | 1.1 | 1.1.4322.573 | 1 апреля 2003 года | Visual Studio .NET 2003 | Windows Server 2003 последняя поддерживаемая версия .NET Framework для Windows 98 FE и Windows NT 4.0 SP6 | 1.0 |
2.0 | 2.0 | 2.0.50727.42 | 11 июля 2005 года | Visual Studio 2005 | Windows Vista, Windows 7, Windows Server 2008 R2 .NET Framework 2.0 без пакетов обновлений — последняя поддерживаемая версия .NET Framework для Windows 98 SE и Windows ME. NET Framework 2.0 SP2 — последняя поддерживаемая версия .NET Framework для Windows 2000 SP4 | н/д |
3.0 | 2.0 | 3.0.4506.30 | 6 ноября 2006 года | Visual Studio 2005 + расширения | Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2 | 2.0 |
3.5 | 2.0 | 3.5.21022.8 | 9 ноября 2007 года | Visual Studio 2008 | Windows 7, Windows Server 2008 R2 последняя поддерживаемая версия .NET Framework для Windows XP SP2 | 2.0, 3.0 |
4.0 | 4 | 4.0.30319.1 | 12 апреля 2010 года | Visual Studio 2010 | Windows 8, Windows Server 2012 последняя поддерживаемая версия .NET Framework для Windows XP SP3 | н/д |
4.5 | 4 | 4.5.50709.17929 | 15 августа 2012 года | Visual Studio 2012 | Windows 8, Windows Server 2012 | 4.0 |
4.5.1 | 4 | 4.5.50938.18408 | 17 октября 2013 года | Visual Studio 2013 | Windows 8. 1, Windows Server 2012 R2 | 4.0, 4.5 |
4.5.2 | 4 | 4.5.51209.34209 | 5 мая 2014 года | н/д | н/д | 4.0-4.5.1 |
4.6 | 4 | 4.6.1038.0 | 20 июля 2015 года | Visual Studio 2015 | Windows 10 | 4.0-4.5.2 |
4.6.1 | 4 | 4.6.23123.0 | 17 ноября 2015 года | Visual Studio 2015 Update 1 | Windows 10 v1511 последняя поддерживаемая версия .NET Framework для Windows Vista SP2 | 4.0-4.6 |
4.6.2 | 4 | 4.6.23907.0 | 20 июля 2021 года | Windows 10 v1607 | 4.0-4.6.1 | |
4.7 | 4 | 4.7.02046 | 5 апреля 2021 года | Visual Studio 2017 | Windows 10 v1703 | 4.0-4.6.2 |
4.7.1 | 4 | 4.7.02556 | 17 октября 2021 года | Visual Studio 2021 v15.5[13] | Windows 10 v1709, Windows Server 2021 (version 1709)[14] | 4.0-4. 7 |
4.7.2 | 4 | 4.7.03056 | 30 апреля 2021 года | Visual Studio 2021 v15.8[15] | Windows 10 v1803 | 4.0-4.7.1 |
4.8 | 4 | 4.8.3761.0 | 18 апреля 2021 года | Windows 10 v1903 | 4.0-4.7.2 |
Как скачать NET Framework для Windows 7/10
Многие сторонние программы, требующие для своей работы наличие NET Framework той или иной редакции, способны инициировать скачивание и установку пакета, но целом ряде случаев этим придется заниматься самому пользователю. Найти и скачать NET Framework можно без проблем на официальном сайте Microsoft, перейдя по адресу www.microsoft.com/ru-ru/search?q=NET+Framework и выбрав нужную версию компонента.
Набор библиотек также доступен на сторонних ресурсах, например, на dlltop.ru/soft/135-microsoft-net-framework.
Что же касается процедуры установки, то она почти ничем не отличается от инсталляции большинства десктопных программ. Независимо от того, какую версию Windows вы используете, необходимо, чтобы на вашем компьютере был установлен включающий в себя ранние версии NET Framework 3. 5 и отдельно последний на данный момент NET Framework версии 4.7.1.
Ошибки при установке или работе .Net Framework
Иногда неправильная установка или обновление
.Net Framework может повлечь за собой сбои в работе компонента. В этой главе представлена информация по различным ошибкам, с которыми вы можете столкнуться на разных этапах использования библиотек «.Net».Сначала необходимо скачать официальную утилиту от Microsoft под названием «.Net Framework Repair Tool», которая в автоматическом режиме поможет решить проблему с компонентом. Инструкцию к этой программе вы найдете ниже.
4.1.
.NET Framework Repair Tool найдет и устранит большинство сбоев
По данным сайта Microsoft, данная утилита решает проблемы при работе и установке или обновлении любой версии
.Net Framework.
Microsoft .Net Framework Repair Tool (онлайн версия). | 1.22 МБ Утилита предназначена для выявления самых частых проблем при работе или установке . NET Framework, а так же их автоматического устранения.
К сожалению, «Repair Tool» не поддерживает русский язык. Однако все происходящие в ней процессы просты и интуитивно понятны. От пользователя требуется:
- Периодически нажимать кнопку «Next»;
- Соглашаться с применением предложенных изменений.
Программа протестирует систему в несколько этапов
.
В случае обнаружения ошибки, будут предложены действия по ее устранению. После подтверждения необходимо дождаться завершения работы утилиты и перезагрузить компьютер.
Рисунок 3. Процесс тестирования программой Microsoft .Net Framework Repair Tool.
При следующем запуске системы ошибки
.Net Framework будут исправлены, и вы сможете заново установить нужную версию компонента (если ранее этот процесс сопровождался сбоями).
При повторении проблемы во время установки или работы компонента после применения программы ознакомьтесь с детальной информацией по конкретным ошибкам, описанным в следующих главах.
↑ Вернуть
4.2.
Ошибка установки обновления .Net Framework 0x80070643 на Windows 7
Ошибка
643 связана с работой «Центра обновления». Возникает преимущественно у пользователей Windows 7.Внимание! Приступать к действиям, описанным далее, рекомендуется только после ознакомления с программой из главы: «.NET Framework Repair Tool найдет и устранит большинство сбоев».
Исполняемый файл для перезапуска «Центра обновления Windows». | 558 Б Внимание! Распаковать (zip) и запускать от имени администратора.
Если
«Repair Tool» не обнаружила проблему, следует перезапустить центр обновления Windows при помощи готовой программы, написанной специально для esate.ru или с помощью алгоритма команд, который вы самостоятельно сможете создать по описанной ниже инструкции.
Исполняемый код в обоих случаях одинаковый.
Программа создана исключительно для удобства: при ее использовании не придется проводить никаких манипуляций вручную. Далее будет описан ручной способ перезапуска системного обновления.
Внимательно следуйте дальнейшей инструкции:
- Создайте пустой текстовый документ и скопируйте в него следующий код:
@echo attrib -h -r -s %windir%\system32\catroot2 attrib -h -r -s %windir%\system32\catroot2\*.* net stop wuauserv net stop CryptSvc net stop BITS ren %windir%\system32\catroot2 catroot2.old ren %windir%\SoftwareDistribution SoftwareDistribution.old ren «%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader» downloader.old net Start BITS net start CryptSvc net start wuauserv pause
- Сохраните файл в расширении «.bat»;
- Запустите созданную программу от имени администратора.
На рисунке 4 вы можете подробнее рассмотреть второй шаг.
Рисунок 4. Сохраняем файл в расширении «.bat». Теперь остается только перезагрузить компьютер и заново произвести установку .Net Framework.
↑ Вернуть
4.3.
Ошибка при установке платформы .Net Framework 3.5: 0x800F0906, 0x800F081F, 0x800F0907 на Windows 8 или 8.1
Эта проблема возникает при попытке установки
.Net Framework 3.5.Перед выполнением действий, описанных далее, рекомендуется ознакомиться с главой: «Ошибка установки обновления .Net Framework 0x80070643 на Windows 7». Ошибки 0x800F0906, 0x800F081F, 0x800F0907
в большинстве случаев проявляются при установке .NET Framework 3.5, когда в операционной системе установлены обновления безопасности
KB2966826 и KB2966828.
Скорее всего это связанно с тем, что некоторые обновления Windows могут не тестироваться на работу или взаимодействие с инсталлятором .NET Framework 3.5.
Разработчики MS исходили из того, что пользователи будут пользоваться новыми, более актуальными версиях Фреймворка, а сам инсталлятор .NET Framework 3.5 был создан задолго до этих обновлений, и не учитывает тех изменений в политиках и механизмах безопасности, которые они несут.
Чтобы использовать .Net Framework 3.5 (и ниже) на новых ОС, необходимо:
- Временно отключить «Центр обновления Windows»;
- Удалить KB2966826 и KB2966828 через стандартное средство «Установка и удаление программ»;
- Перезагрузить компьютер, повторить установку .Net Framework.
После установки компонента можно обратно включить автоматические обновления.
↑ Вернуть
4.4.
Выбор жесткого диска и папки для распаковки .NET перед установкой (установщик может сам выбирать диск, например диск A:)
Установщик последних версий .NET Framework выбирает диск и папку назначения на своё усмотрение. Это может быть довольно не очевидный выбор, например диск A:, или другой диск, не предназначенный для этих задач. Чтобы обойти эту проблему, достаточно запустить установку используя командную строку (см. рисунок 5):
- Запустите командную строку: открыть меню «Пуск» → написать в строке поиска: cmd → запустить соответствующую программу нажатием левой кнопкой мыши;
- Перейти в папку с пакетом установщика с помощью команды «cd C:\my-install-dir»
- Запустить пакет установки с ключом «/x»:
NDP47-KB3186497-x86-x64-AllOS-ENU. exe /XОбратите внимание, что название пакета установщика у вас может отличаться!
- В открывшемся окне — укажите путь для распаковки пакета .NET Framework
Рисунок 5. Инсталляция .NET Framework 4.7.1 с распаковкой в конкретную папку.
Значение NET Framework
Даже зная, что такое NET Framework, обычные пользователи как-то не задумываются о ценности и значимости этого компонента. Иначе относятся к нему разработчики программного обеспечения. Для них, и в особенности для тех, кто программирует на Visual Basic .NET и C# NET Framework, это нечто большее, чем просто набор библиотек. Это полноценная среда разработки, скрывающая в себе массу возможностей и инструментов, без которых создание современных приложений для операционной системы Windows было бы трудновыполнимой задачей.
- 8поделились
- 3Facebook
- 5Twitter
- 0VKontakte
- 0Odnoklassniki
Что нового в Microsoft .NET Framework 4.8
Последний выпуск платформы разработки приложений Microsoft для Windows содержит новые функции и улучшения безопасности.
Пол Крилл
Редактор на свободе,
Информационный мир |
Thinkstock
Содержание
- Где скачать .NET Framework 4.8
- Текущая версия: Новые функции в .NET Framework 4.8
- Предыдущая версия: новые функции в .NET Framework 4.7.2
- Предыдущая версия: что нового в .NET Framework 4.7.1
Показать больше
Microsoft выпустила .NET Framework 4.8, последнюю версию платформы разработки приложений для Windows. Обновление содержит ряд исправлений ошибок, исправлений безопасности и улучшений для Common Language Runtime, ASP.NET, Windows Forms, Windows Presentation Foundation и Windows Communication Foundation.
Где скачать .NET Framework 4.8
Вы можете загрузить рабочую версию .NET Framework с сайта Microsoft .NET.
[Читать обзор InfoWorld: Visual Studio 2017 — лучшая версия]
Текущая версия: новые функции .NET Framework 4.8
Выпущенная 18 апреля 2019 г. .NET Framework 4.8 включает следующие улучшения:
- Для NGEN (Native Image Generator) изображения в .NET Framework больше не имеют разделов, доступных для записи и исполняемых файлов. Это уменьшает площадь, доступную для атак, которые пытаются выполнить произвольный код, изменяя адреса памяти NGEN.
- Сканирование на наличие вредоносных программ теперь инициируется для всех сборок, загружаемых с диска или из сети. Ранее среда выполнения .NET только инициировала сканирование (Защитником Windows и сторонним программным обеспечением для защиты от вредоносных программ, реализующим интерфейс сканирования на наличие вредоносных программ) сборок, загруженных с диска.
- JIT-компилятор .NET Framework 4.8 основан на .NET Core 2.1. Исправления ошибок и оптимизации на основе генерации кода из .NET Core 2.1 теперь доступны в .NET Framework.
- В BCL (базовой библиотеке классов) улучшена внешняя библиотека сжатия Zlib, количество финализаций объектов, происходящих в результате использования X509Certificate2 и связанные с ним типы были сокращены, а также был добавлен API для получения отпечатков с помощью алгоритма дайджеста, указанного вызывающим абонентом.
- Кроме того, BCL в .NET Framework 4.8 уменьшает влияние FIPS (федеральных стандартов обработки информации) на криптографию. Начиная с .NET Framework 2.0, классы криптографических поставщиков выдают исключение, когда криптографические библиотеки настроены в режиме FIPS. В .NET 4.8 эти исключения больше не будут создаваться по умолчанию.
- Предлагаются улучшения специальных возможностей для Windows Forms, чтобы улучшить передачу данных приложений слабовидящим.
- В ASP. NET устранена проблема, связанная с обработкой многозначных заголовков HTTP, которые могут повлиять на обработку составных данных.
- CLR (Common Language Runtime), из-за которых неверные значения отправлялись как EventListeners.
- Включенные метки в Windows Forms теперь всегда отображаются с использованием высококонтрастного цвета текста, когда включен режим высокой контрастности. Это влияет на приложения, перекомпилированные для целевой платформы .NET Framework 4.8.
- Алгоритм хеширования, используемый для создания контрольных сумм файлов XOML при построении проектов с файлами XOML, был изменен. Разработчики могут по-прежнему использовать предыдущий алгоритм.
- Изменен алгоритм хэширования для вычисления ключей к кэшам внутренней памяти. Разработчики могут по-прежнему использовать предыдущий алгоритм.
- Устранена утечка памяти, которая затрагивала HttpWebRequest при обмене данными с HTTPS-сервером через прокси.
- В Windows Presentation Foundation устранена утечка памяти, возникающая при удалении элементов данных из родительских коллекций при наличии UIAutomation.
- В Windows Presentation Foundation добавлена поддержка для каждого монитора V2 DPI Awareness и Mixed-Mode DPI.
- В Windows Communication Foundation устранена проблема специальных возможностей, из-за которой элементы управления ComboBox неправильно отображались в высококонтрастных темах.
- В Windows Communication Foundation ServiceHealthBehavior представлен как поведение службы, добавленное в коллекцию ServiceDescription.Behaviors. Он может возвращать состояние работоспособности службы с кодами ответов HTTP и разрешать публикацию сведений о работоспособности службы.
Исправлены проблемы
Предыдущая версия: Новые функции в .NET Framework 4.7.2
Уже популярная в таких технологиях, как Spring Framework, внедрение зависимостей позволяет одному объекту предоставлять зависимости другого объекта. .NET Framework 4.7.2 упрощает использование этой возможности в веб-формах ASP.net. Поддерживаются внедрения на основе установки, интерфейса и конструктора, а также могут быть подключены другие платформы внедрения зависимостей.
Другие новые функции в .NET Framework 4.7.2 включают: .NET, чтобы утверждать, что файл cookie не должен отправляться с межсайтовыми запросами. Цель 9Атрибут 0079 SameSite предназначен для уменьшения утечки информации и защиты от межсайтовых подделок. Свойство добавлено в HttpCookieType
. Он также присутствует в файлах cookie FormsAuthentication и SessionState.
API
ImportParameters
. StaticResource
, позволяющая помощнику по диагностике получать уведомления о разрешении ссылки StaticResource
. Например, помощник по диагностике, такой как средство Visual Studio Edit-and-Continue, может захотеть обновить использование ресурса, когда он изменяется или заменяет значение в словаре ресурсов. WorkflowDesignerColors
для улучшения работы пользовательского интерфейса в высококонтрастном режиме.Предыдущая версия: Что нового в .NET Framework 4.7.1
С выпуском Microsoft .NET Framework 4.7.1 в середине октября 2017 года платформа разработки получила важные улучшения в сборке мусора, безопасности и настройке приложений.
Чтобы повысить производительность выделения памяти, особенно для выделения кучи больших объектов, архитектурное изменение сборщика мусора разделяет выделение кучи на маленькие и большие кучи объектов. Приложения, выполняющие большое количество выделений кучи больших объектов, должны столкнуться с уменьшением количества конфликтов за блокировку выделения и повышением производительности.
Обновление также добавляет безопасные параметры хеширования для проверки подлинности форм ASP.NET, включая SHA-2 (алгоритм безопасного хэширования), более надежный преемник SHA-1. Для совместимости SHA-1 по-прежнему используется по умолчанию. SHA-2 также поддерживается для Message.HashAlgorithm, который указывает алгоритм хеширования, используемый очередями сообщений при проверке подлинности.
Новые построители конфигурации в .NET 4.7.1 позволяют разработчикам внедрять и создавать конфигурацию для приложений во время выполнения. Данные конфигурации могут быть взяты из источников за пределами конфигурационного файла; в предыдущих версиях .NET конфигурация была статической. С помощью построителей конфигурации приложения могут применять настраиваемый набор построителей к разделу файла config. Разработчики могут изменять данные конфигурации, содержащиеся в разделе конфигурации, или создавать их с нуля, даже извлекая новые данные из источников, отличных от статических файлов.
Другие функции обновления включают:
- Поддержка спецификации .NET Standard 2.0, включающей набор API-интерфейсов, совместно используемых несколькими реализациями .NET.
- Улучшения специальных возможностей в WPF (Windows Presentation Foundation) и Windows Forms, включая улучшения высокой контрастности, улучшенные шаблоны пользовательского интерфейса и улучшенные возможности таких инструментов, как Экранный диктор.
- Поддержка визуальной диагностики в WPF, которая позволяет использовать инструменты для анализа визуальных деревьев XAML.
- Компилятор поддерживает
ReadOnlyReferences
на языке C# 7.2 для передачи переменных по ссылке, но без изменения данных. - API обнаружения функций среды выполнения, чтобы определить, поддерживает ли среда выполнения конкретную функцию.
- Serializable
SystemValueTuple
, что должно упростить переход сSystem.Tuple
на новый синтаксис кортежей в C# 7.0 и Visual Basic 15.5. - API ASP.NET, обеспечивающий стандартизированный способ создания
HttpCookie
объект из строки и захват свойств файла cookie, таких как дата истечения срока действия и путь.