Нужна ли версия 3.5 в 2019 году
Старые программы могут понадобиться в таких случаях:
- Им нет подходящей замены
- Пользователь не желает изучать особенности нового интерфейса
- Новые версии и аналоги требовательны к аппаратным ресурсам ПК и мощности устройства недостаточно для их работы
На сайте Майкрософт отмечено, что версия .NET Framework 3.5 SP1 актуальна до 10 октября 2028 года.
Не нужно устанавливать компонент без необходимости. Если все нужные пользователю программы корректно работают и известно, что старое ПО не применяется, достаточно свежей версии.
Ставить версию надо:
- Если пользователю известно, что применяемый софт нуждается в ней
- Возникают сбои программ и предположительной причиной является отсутствие совместимой версии .NET Framework
Файлы журналов проверки .NET Framework
- .NET Framework 1.0. Ндперрорлог
- .NET Framework 1.0. Ндпверифилог
- .NET Framework 1,1 с пакетом обновления 1 (SP1). ндперрорлог
- .NET Framework 1,1 с пакетом обновления 1 (SP1). ндпверифилог
- .NET Framework 1.1. Ндперрорлог
- .NET Framework 1.1. Ндпверифилог
- .NET Framework 2,0 с пакетом обновления 1 (SP1). ндперрорлог
- .NET Framework 2,0 с пакетом обновления 1 (SP1). ндпверифилог
- .NET Framework 2,0 с пакетом обновления 2 (SP2). ндперрорлог
- .NET Framework 2,0 с пакетом обновления 2 (SP2). ндпверифилог
- .NET Framework 2.0. Ндперрорлог
- .NET Framework 2.0. Ндпверифилог
- .NET Framework 3,0 с пакетом обновления 1 (SP1). ндперрорлог
- .NET Framework 3,0 с пакетом обновления 1 (SP1). ндпверифилог
- .NET Framework 3,0 с пакетом обновления 2 (SP2). ндперрорлог
- .NET Framework 3,0 с пакетом обновления 2 (SP2). ндпверифилог
- .NET Framework 3.0. Ндперрорлог
- .NET Framework 3.0. Ндпверифилог
- .NET Framework 3,5 с пакетом обновления 1 (SP1). ндперрорлог
- .NET Framework 3,5 с пакетом обновления 1 (SP1). ндпверифилог
- .NET Framework 3.5. Ндперрорлог
- .NET Framework 3.5. Ндпверифилог
- .NET Framework 4 Client. Ндперрорлог
- .NET Framework 4 Client. Ндпверифилог
- .NET Framework 4 Full. Ндперрорлог
- .NET Framework 4 Full. Ндпверифилог
Модели выполнения.
Приложения .NET запускают управляемый код в среде выполнения, известной как среда CLR.
CLR
.NET CLR — это кроссплатформенная среда выполнения, которая включает поддержку Windows, macOS и Linux. Среда CLR обрабатывает выделение памяти и управление ей. Среда CLR также является виртуальной машиной, которая не только выполняет приложения, но и создает, а также компилирует код с помощью JIT-компилятора.
Для получения дополнительной информации см. Common Language Runtime.
JIT-компилятор и промежуточный язык
Языки .NET более высокого уровня, например C#, компилируются до независимого от оборудования набора инструкций, который называется промежуточным языком (IL). При запуске приложений этот компилятор преобразует IL в машинный код, который понимает обработчик. JIT-компиляция происходит на том же компьютере, на котором будет выполняться код.
Так как JIT-компиляция происходит во время выполнения приложения, время компиляции является частью времени выполнения. Таким образом, JIT-компиляторы должны поддерживать баланс между временем оптимизации кода и экономии, к которой может привести результирующий код. Но JIT-компилятор знает фактическое оборудование и может освободить разработчиков от поставки различных реализаций для различных платформ.
JIT-компилятор .NET может выполнять многоуровневую компиляцию, что означает возможность перекомпиляции отдельных методов во время выполнения. Эта функция позволяет быстро компилировать, сохраняя при этом возможность создания высокоспециализированной версии кода для часто используемых методов.
Дополнительные сведения см. в статьях Управляемый процесс выполнения и .
Компилятор AOT
По умолчанию большинство рабочих нагрузок .NET являются JIT-компилятором, но .NET предлагает две формы компиляции на момент времени (AOT):
- Для некоторых сценариев требуется 100-процентная компиляция AOT. Примером может служить iOS.
- В других сценариях большая часть кода приложения компилируется с помощью AOT, но для некоторых частей используется JIT-компилятор. Некоторые шаблоны кода не распознаются AOT (например, универсальные шаблоны). Примером такой формы компиляции AOT является параметр публикации . Такая форма AOT позволяет использовать преимущества компиляции без ее недостатков.
Автоматическое управление памятью
Сборщик мусора (GC) управляет выделением и освобождением памяти для приложений. Каждый раз, когда код создает новый объект, среда CLR выделяет память для объекта из . Пока в управляемой куче есть доступное адресное пространство, среда выполнения продолжает выделять пространство для новых объектов. Когда остается недостаточное свободное пространство адресов, сборщик мусора проверяет наличие объектов в управляемой куче, которые больше не используются приложением. Затем эта память освобождается.
GC — это одна из служб CLR, которая помогает обеспечить безопасность памяти. Программа является безопасной по памяти, если она обращается только к выделенной памяти. Например, среда выполнения гарантирует, что приложение не обращается к невыделенной памяти за пределами границ массива.
Дополнительные сведения о сборке мусора см. в статьях Автоматическое управление памятью и Основы сборки мусора.
Работа с неуправляемыми ресурсами
Иногда код должен ссылаться на неуправляемые ресурсы. Неуправляемые ресурсы — это ресурсы, которые не обслуживаются средой выполнения .NET автоматически. Например, к неуправляемым ресурсам относятся дескрипторы файлов. Объект FileStream — управляемый, но он ссылается на дескриптор файла, который является неуправляемым ресурсом. После окончания работы с FileStream нужно явным образом освободить дескриптор файла.
В среде .NET объекты, которые ссылаются на неуправляемые ресурсы, реализуют интерфейс IDisposable. После окончания работы с объектом вызовите метод объекта, который отвечает за освобождение неуправляемых ресурсов. В языках .NET имеется удобная инструкция (C#, F#, VB), которая обеспечивает вызов метода .
Дополнительные сведения см. в разделе Очистка неуправляемых ресурсов.
В этом разделе
Данные и моделирование. Здесь приводится информация о способах доступа к данным с использованием ADO.NET, LINQ, служб данных WCF и XML.
Разработка клиентских приложений с использованием .NET Framework. Здесь поясняются способы создания приложений Windows с помощью Windows Presentation Foundation (WPF) и Windows Forms.
Разработка веб-приложений с помощью ASP.NET. Здесь приводятся ссылки на сведения об использовании ASP.NET для сборки веб-приложений корпоративного уровня с минимальным объемом кода.
Разработка сервисно ориентированных приложений с помощью WCF. Здесь приводится описание способов использования Windows Communication Foundation (WCF) для сборки безопасных и надежных сервисно ориентированных приложений.
Создание рабочих процессов с помощью Windows Workflow Foundation Здесь приводятся сведения о модели программирования и средствах Windows Workflow Foundation (WF), а также примеры.
Приложения служб Windows. Здесь поясняется, как можно использовать Visual Studio и .NET Framework для создания приложения, которое устанавливается в качестве службы, а также запускать его, останавливать и иными способами управлять его поведением.
Параллельная обработка, параллелизм и асинхронное программирование в .NET. Здесь приводятся сведения о шаблонах разработки с применением управляемых потоков, параллельного программирования и асинхронного программирования.
Сетевое программирование в .NET Framework. Здесь приводится описание многоуровневой, расширяемой и управляемой реализации служб Интернета, которую можно быстро и легко интегрировать в приложения.
Настройка приложений .NET Framework Здесь поясняется, как можно использовать файлы конфигурации для изменения параметров без необходимости повторной компиляции приложений .NET Framework.
Безопасность. Сведения о классах и службах .NET Framework, предназначенных для упрощения разработки безопасных приложений.
Отладка, трассировка и профилирование. Здесь приводится описание способов тестирования, оптимизации и профилирования приложений .NET Framework и среды приложения. Информация, содержащаяся в этом разделе, предназначена как для администраторов, так и для разработчиков.
Разработка для нескольких платформ. Здесь поясняется, как можно использовать платформу .NET Framework для создания сборок, которые могут совместно использоваться несколькими платформами и устройствами, такими как телефоны, настольные системы и интернет-устройства.
Развертывание. Здесь поясняется порядок упаковки и распространения приложения .NET Framework; сюда также включены руководства по развертыванию как для разработчиков, так и для администраторов.
Производительность. Здесь приводятся сведения о кэшировании, отложенной инициализации, надежности и событиях трассировки событий Windows.
Обратная совместимость
Платформа .NET Framework 4.5 и более поздних версий обратно совместима с приложениями, созданными с помощью более ранних версий .NET Framework. Иными словами, приложения и компоненты, созданные с использованием предыдущих версий платформы .NET Framework, будут без внесения изменений работать в .NET Framework 4.5 и более поздних версий. Однако по умолчанию приложения выполняются в той версии среды CLR, для которой они были разработаны, поэтому, чтобы обеспечить возможность выполнения приложения в .NET Framework 4.5 и более поздних версий, может потребоваться предоставить файл конфигурации. Дополнительные сведения см. в разделе выше.
На практике эту совместимость можно нарушить на первый взгляд несущественными изменениями в платформе .NET Framework и изменениями в методах программирования. Например, улучшения в производительности в платформе .NET Framework 4.5 могут привести к состоянию гонки, которого не было в предыдущих версиях. Следует также иметь в виду, что такие действия, как использование жестко запрограммированного пути к сборкам .NET Framework, сравнение на равенство с конкретной версией платформы .NET Framework и получение значения частного поля с помощью отражения, нарушают обратную совместимость. Кроме того, каждая версия платформы .NET Framework содержит исправления ошибок и изменения, связанные с безопасностью, которые могут влиять на совместимость некоторых приложений и компонентов.
Если приложение или компонент не работает в .NET Framework 4.5 и в доработанных выпусках, .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 или 4.8, ожидаемым образом, воспользуйтесь следующими контрольными списками:
-
Если приложение разработано для выполнения в любой версии платформы .NET Framework, начиная с .NET Framework 4.0, см. раздел Совместимость приложений, чтобы создать списки изменений между вашей целевой версией .NET Framework и версией, в которой выполняется приложение.
-
Если приложение предназначено для .NET Framework 3.5, см. также раздел Проблемы при миграции на .NET Framework 4.
-
Если приложение предназначено для .NET Framework 2.0, см. также раздел Изменения в .NET Framework 3.5 SP1.
-
Если приложение предназначено для .NET Framework 1.1, см. также раздел Изменения в .NET Framework 2.0.
-
Если вы перекомпилируете существующий исходный код для запуска в платформе .NET Framework 4.5 (или ее доработанных выпусках) или разрабатываете новую версию приложения или компонента для запуска в .NET Framework 4.5 или ее доработанных выпусках на основе существующей базы исходного кода, просмотрите раздел Что устарело в библиотеке классов на предмет устаревших типов и членов и используйте описанный обходной путь. (Скомпилированный ранее код будет продолжать работать с типами и членами, которые отмечены как устаревшие.)
-
Если обнаруживается, что изменение в .NET Framework 4.5 нарушило работу приложения, обратитесь к разделу Схема параметров среды выполнения и, в частности, к подразделу Элемент <AppContextSwitchOverrides>, чтобы определить, можно ли использовать параметры среды выполнения в файле конфигурации приложения для восстановления предыдущего поведения.
-
Если у вас возникла незадокументированная проблема, откройте проблему на веб-сайте сообщества разработчиков .NET или в репозитории GitHub Microsoft/dotnet.
Как установить Microsoft NET Framework
На большинстве компьютеров на Windows уже установлен Microsoft NET Framework, но его версия может быть устаревшей. Например, с Windows 8 и 8.1 поставляется версия 4.5.1, а с Windows 10 — версия 4.6, 4.6.1 или 4.6.2.
На момент написания статьи самая свежая версия — Microsoft NET Framework 4,7. Именно её мы и будем устанавливать:
Microsoft Net Framework можно установить и через Центр обновления Windows. Но многие отключают обновление Windows, поэтому данный метод будет предпочтительнее.
Перед установкой — Microsoft Net Framework можно установить на Windows 10, Windows 8.1 и Windows 7 SP1 как на 32-битные, так и на 64-битные системы. Чтобы установка прошла без ошибок, Microsoft рекомендует иметь на жестком диске минимум 2.5 ГБ свободного пространства.
Оба установщика содержат одинаковые версии NET Framework, но мы предпочитаем использовать автономный установщик. Он надёжнее, и всегда будет под рукой, если потребуется переустановить NET Framework. После скачивания процесс установки не должен вызвать затруднений — просто следуйте инструкциям, появляющимся на экране. И тогда вы быстрее поймете, зачем нужен NET Framework 4.
.NET Framework 4.7 Веб-установщик
.NET Framework 4.7 Автономный установщик
Обратите внимание, что версия 4.7 — это выполняемое обновление версий 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1 и 4.6.2. Поэтому не удаляйте предыдущие версии после установки
NET Framework 3.5 SP1 и более старые версии устанавливаются отдельно.
По умолчанию NET Framework инсталлирует английскую версию независимо от того, какой вы используете установщик. Для локализации нужно скачать соответствующий языковой пакет. На данный момент языковые пакеты для версии 4.7 доступны только в виде автономных установщиков.
Языковой пакет .NET Framework 4.7
Решение для Windows 10
-
Коды ошибок 0x800F0906, 0x800F081F или 0x800F0907
Для исправления ошибок с этими кодами в Windows 10 выполните следующие действия.
-
Скачайте средство создания носителей Windows и создайте образ ISO локально либо создайте образ для установленной версии Windows.
-
Настройте групповую политику, как описано в , а также выполните следующие действия:
- Подключите образ ISO, созданный на этапе 1.
- Укажите для параметра Альтернативный путь к исходным файлам папку ISO из образа ISO.
- Выполните команду .
- Добавьте компонент .NET Framework.
-
-
Код ошибки 0x800F0922
При обновлении Windows 10 появляется следующее сообщение об ошибке:
Примечание
Данный код ошибки может возникать не только при установке платформы .NET Framework.
Для устранения данной проблемы выполните следующие действия.
-
Откройте папку с установочными файлами платформы .NET Framework.
-
Откройте папку Sources.
-
Щелкните папку SXS правой кнопкой мыши и выберите пункт Свойства.
-
Выберите вкладку Безопасность и убедитесь, что флажок у параметра Чтение и выполнение установлен. Если флажка нет, нажмите кнопку Изменить и установите его.
-
Нажмите клавиши Windows + X.
-
Выберите пункт Командная строка (Администратор).
-
В окне командной строки введите указанную ниже команду и нажмите клавишу «Ввод».
-
В окне командной строки введите указанную ниже команду и нажмите клавишу «Ввод».
-
Приложение
Параметры командной строки
В следующей таблице перечислены параметры, которые можно использовать при связывании распространяемого пакета .NET Framework 4.5 с программой установки приложения.
Параметр | Описание |
---|---|
/CEIPConsent | Перезаписывает поведение по умолчанию и отправляет анонимные сведения об установке в корпорацию Microsoft для совершенствования процедуры развертывания в будущем. Этот параметр можно использовать, только если программа установки запрашивает согласие пользователя и только если пользователь разрешает отправлять анонимную статистку в корпорацию Microsoft. |
/chainingpackage | Указывает имя исполняемого файла, осуществляющего привязку. Эти сведения отправляются в корпорацию Microsoft в качестве анонимной статистики для совершенствования процедуры развертывания в будущем. Если в имени пакета присутствуют пробелы, в качестве разделителей необходимо использовать двойные кавычки (например, /chainingpackage «Lucerne Publishing» ). Пример привязываемого пакета см. в разделе Получение сведений о ходе выполнения из пакета установки. |
/LCID где параметр задает код языка (список кодов см. на странице ). | Устанавливает языковой пакет, определенный параметром , и обеспечивает принудительное отображение пользовательского интерфейса на этом языке (если не включен автоматический режим). Для веб-установщика этот параметр обеспечивает установку (привязку) языкового пакета из Интернета. Примечание. Используйте этот параметр только с веб-установщиком. |
/log | | Задает расположение файла журнала. Значение по умолчанию — временная папка для процесса, а имя файла по умолчанию основано на пакете. Если файл имеет расширение .txt, создается текстовый журнал. Если указано любое другое расширение или никакого расширения, создается журнал в формате HTML. |
/msioptions | Задает параметры для передачи элементам MSI и MSP; например: . |
/norestart | Запрещает программе установки автоматически перезагружать компьютер. При использовании этого параметра привязываемое приложение должно захватить код возврата и обработать перезагрузку (см. раздел Получение сведений о ходе выполнения из пакета установки). |
/passive | Задает пассивный режим. Отображает индикатор выполнения, чтобы показать, что установка выполняется, но не выводит никаких приглашений и сообщений об ошибках. В этом режиме, при объединении в цепочку с программой установки, привязываемый пакет должен обрабатывать . |
/pipe | Создает канал связи, чтобы привязываемый пакет мог получать информацию о ходе выполнения. |
/promptrestart | Только пассивный режим; если программе установки необходима перезагрузка, она выводит соответствующий запрос для пользователя. При использовании этого параметра требуется вмешательство пользователя, если необходима перезагрузка. |
/q | Включает автоматический режим. |
/repair | Включение функции исправления. |
/serialdownload | Обеспечивает, что установка происходит только после загрузки пакета. |
/showfinalerror | Задает пассивный режим. Отображает ошибки только в том случае, если установка не выполнена успешно. При использовании этого параметра в случае ошибки установки требуется вмешательство пользователя. |
/showrmui | Используется только с параметром /passive . Выводит окно сообщения, в котором пользователю предлагается закрыть работающие в данный момент приложения .NET Framework. Это окно сообщения ведет себя одинаково как в пассивном, так и не в пассивном режиме. |
/uninstall | Удаляет распространяемый пакет .NET Framework. |
Поддерживаемые языки
В приведенной ниже таблице перечислены языковые пакеты .NET Framework, доступные для платформы .NET Framework 4.5 и более поздних версий.
LCID | Язык — страна/регион | culture |
---|---|---|
1025 | Арабский — Саудовская Аравия | ar |
1028 | Китайский (традиционное письмо) | zh-Hant |
1029 | Чешский | cs |
1030 | Датский | da |
1031 | Немецкий (Германия) | de |
1032 | Греческий | el |
1035 | Финский | fi |
1036 | Французский (Франция) | fr |
1037 | Иврит | he |
1038 | Венгерский | hu |
1040 | Итальянский (Италия) | it |
1041 | Японский | ja |
1042 | Корейский | ko |
1043 | Голландский (Нидерланды) | nl |
1044 | Норвежский (Букмол) | Нет |
1045 | Польский | pl |
1046 | Португальский (Бразилия) | pt-BR |
1049 | Русский | ru |
1053 | Шведский | sv |
1055 | Турецкий | tr |
2052 | Китайский (упрощенное письмо) | zh-Hans |
2070 | Португальский (Португалия) | pt-PT |
3082 | Испанский (Испания, современная сортировка) | es |
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, могут перестать запускаться.
Использование дополнительного ПО
Из-за многочисленности версий сбои бывают достаточно разнообразными. Штатные средства windows не всегда помогают полностью удалить программное обеспечение, оставляя ненужные реестровые записи, файлы настроек и системные библиотеки.
Это впоследствии может вызвать еще более серьезные проблемы. Поэтому была создана специальная программа для удаления – net framework cleanup tool.
Утилита очень простая. Запустив её, нужно нажать кнопку «Cleanup Now». net framework cleanup tool работает так, что удаляет полностью все следы действия компонента, включая:
- программное обеспечение;
- связанные обновления;
- записи реестра;
- файлы настроек;
- системные библиотеки.
Благодаря этой программе, можно удалить ненужные старые компоненты без всяких проблем и последствий, а также избавиться от ошибок операционной системы в случае неправильной инсталляции или сбоя компонента.